Apparatus and methods for surface contour measurements

ABSTRACT

Apparatus and methods of measuring three-dimensional position information of a point on the surface of an object. The invention also relates to an apparatus for projecting fringes onto a surface of an object including two sources of radiation separated by a distance, each source having a spectral distribution, and being coherent with respect to the other of the sources, a control system moving each of the sources relative to the other of the sources, and a detector positioned to receive radiation scattered from the point on the surface of the object. In another embodiment, the two sources of radiation include, an initial source of a beam of radiation having a spectral width, a beam separator in optical communication with the initial source of a beam of radiation generating a first optical beam and a second optical beam, and an imaging system optically connected to the beam separator.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of U.S. patent applicationSer. No. 09/480,043 which was filed on Jan. 10, 2000 which is acontinuation-in-part of U.S. Pat. No. 6,031,612 which was filed on Feb.2, 1999 which is a continuation-in-part application of U.S. Pat. No.5,870,191 which was filed on Feb. 12, 1996 and claims priority toprovisional U.S. patent application No. 60/087,960 which was filed Jun.4, 1998, the disclosures of which are incorporated by reference herein.

GOVERNMENT SUPPORT

[0002] Work described herein was supported by Federal Contract No.F19628-95-L-002, awarded by the United States Air Force. The Governmentmay have certain rights in the invention.

FIELD OF THE INVENTION

[0003] The invention relates to the field of surface measurement and,more specifically, to the field of non-contact surface measurement.

BACKGROUND OF THE INVENTION

[0004] Dimensional metrology, the measurement of the size and shape ofobjects, is very important in today's manufacturing environment in whichmachines perform much of the fabrication and assembly of complex objectscomposed of many subassemblies. The shape and size of each component ina complex assembly, such as an automobile, must be held to closetolerances to ensure that the components fit together properly.

[0005] Ideally such measurements of shape and size are accomplishedwithout physical contact in order to save time in making themeasurement. Many non-contact measurement methods make use of availablemachine vision systems. The measurement of surface contour informationis an especially difficult problem in machine vision systems since depthinformation is often lost or is difficult to interpret. To compensatefor the loss of depth information and the difficulty in interpreting theinformation which is available, many machine vision systems utilizelight to create moire patterns on the surface of the object in order toobtain contour information. One disadvantage of the moire technique isits inflexibility with respect to objects of different sizes. Objects ofdifferent sizes may require new corresponding physical setups. Due tothis disadvantage, it is difficult to use a moire technique forlarge-scale objects. Another disadvantage of a moire technique is thatthe resolution obtained using the technique may not be high enough formany applications

[0006] Interferometric methods have also been used when detailedmeasurements of the surface are needed. Although interferometric systemsprovide surface contour information, they are sensitive to vibrations inboth the object being measured and the source of illumination beingused.

[0007] What is needed is a technique which avoids these problems byresolving fringe order ambiguities, mitigating degradation due tospeckle effects and attaining high resolution.

SUMMARY OF THE INVENTION

[0008] The invention is related to a method for determining, on anobject having a surface, three-dimensional position information of apoint on the surface of the object including the steps of providing twosources of radiation having a spatial distribution of spectral regions,illuminating the surface with radiation from each of the sources toproduce a first fringe pattern at a first position on the surface,moving the first fringe pattern to a second position, generating a firstwrapped cycle map in response to the first and second positions of thefirst fringe pattern, estimating fringe numbers in the first fringepattern, changing the first fringe pattern to generate a second fringepattern at a first position, moving the second fringe pattern to asecond position, generating a second wrapped cycle map in response tothe first and second positions of the second fringe pattern, estimatingfringe numbers in the second fringe pattern in response to the estimatedfringe numbers in the first fringe pattern, and determiningthree-dimensional position information of the point on the surface inresponse to the estimated fringe numbers in the second fringe patternand the second wrapped cycle map.

[0009] The invention is further related to a method for synthesizing awrapped cycle map corresponding to a fringe pattern of a predeterminedspacing on a surface including the steps of providing two sources ofradiation having a spatial distribution of spectral regions,illuminating the surface with radiation from each of the sources toproduce a first fringe pattern at a first position on the surface,moving the first fringe pattern to a second position on the surface,generating a first wrapped cycle map in response to the first and secondpositions of the first fringe pattern, changing the first fringe patternto generate a second fringe pattern at a first position, moving thesecond fringe pattern to a second position, generating a second wrappedcycle map in response to the first and second positions of the secondfringe pattern, subtracting the second wrapped cycle map from the firstwrapped cycle map, and wrapping the difference between the secondwrapped cycle map and the first wrapped cycle map to generate a wrappedcycle map corresponding to the fringe pattern of the predeterminedspacing.

[0010] The invention further relates to a method for determining, on anobject having a surface, three-dimensional position information of apoint on the surface of the object including the steps of generating afirst and a second beam of radiation having a first frequency and beingcoherent with respect to one another, illuminating the surface with thesecond beam of radiation, generating a first interference pattern at afirst position in response to the first beam of radiation and radiationfrom the second beam of radiation scattered by the surface, moving thefirst interference pattern to a second position, generating a firstwrapped cycle map in response to the first and second positions of thefirst interference pattern, estimating intensity cycles in the firstinterference pattern, changing the first interference pattern togenerate a second interference pattern at a first position, moving thesecond interference pattern to a second position, generating a secondwrapped cycle map in response to the first and second positions of thesecond interference pattern, estimating intensity cycles in the secondinterference pattern in response to estimated intensity cycles in thefirst interference pattern, and calculating three-dimensional positioninformation in response to the estimated intensity cycles in the secondinterference pattern and the second wrapped cycle map.

[0011] The invention further relates to a method for determining, on anobject having a surface, three-dimensional position information of apoint on the surface of the object including the steps of generating afirst and a second beam of radiation being coherent with respect to oneanother, illuminating the surface with the second beam of radiation,generating a first interference pattern in response to the first beam ofradiation and radiation from the second beam of radiation scattered bythe surface, phase shifting one of the first and second beams ofradiation with respect to the other of the first and second beams ofradiation to generate a first phase shifted interference pattern,generating a first wrapped cycle map in response to the firstinterference pattern and the first phase shifted interference pattern,changing the first interference pattern to generate a secondinterference pattern, phase shifting one of the first and second beamsof radiation with respect to the other of the first and second beams ofradiation to generate a second phase shifted interference pattern,generating a second wrapped cycle map in response to the secondinterference pattern and the second phase shifted interference pattern,subtracting the second wrapped cycle map from the first wrapped cyclemap, and wrapping the difference between the second wrapped cycle mapand the first wrapped cycle map to generate a wrapped cycle map.

[0012] The invention also relates to an apparatus for projecting fringesonto a surface of an object including two sources of radiation having aspectral distribution, a collimator in optical communication with thetwo sources, the collimator generating two substantially collimatedbeams of broadband radiation, a diffractive grating in opticalcommunication with the collimator, and a lens in optical communicationwith the diffractive grating, the lens generating two images ofradiation having a spatial distribution of spectral regions.

[0013] The invention also relates to a method for projecting fringesonto a surface of an object including the steps of providing two sourcesof radiation separated by a distance and generating radiation having aspectral distribution, collimating the radiation to generate twosubstantially collimated beams of radiation, delineating spectralcomponents of the collimated beams of radiation, and generating twoimages of radiation having a spatial distribution of spectralcomponents.

[0014] The invention further relates to a method for determining, on anobject having a surface, three-dimensional position information of apoint on the surface of the object including the steps of projecting afirst cyclical pattern to produce a first projected pattern at a firstposition on the surface, moving the first projected pattern to a secondposition, generating a first wrapped cycle map in response to the firstand second positions of the first projected pattern, estimating cyclenumbers in the first projected pattern, changing the first projectedpattern to generate a second projected pattern at a first position,moving the second projected pattern to a second position, generating asecond wrapped cycle map in response to the first and second positionsof the second projected pattern, estimating cycle numbers in the secondprojected pattern in response to the estimated cycle numbers in thefirst projected pattern, and determining the surface in response to theestimated cycle numbers in the second projected pattern and the secondwrapped cycle map.

[0015] The invention further relates to a method for synthesizing awrapped cycle map corresponding to a projected cyclical pattern of apredetermined spacing on a surface including the steps of projecting afirst cyclical pattern to produce a first projected pattern at a firstposition on the surface, moving the first projected pattern to a secondposition on the surface, generating a first wrapped cycle map inresponse to the first and second positions of the first projectedpattern, changing the first projected pattern to generate a secondprojected pattern at a first position, moving the second projectedpattern to a second position, generating a second wrapped cycle map inresponse to the first and second positions of the second projectedpattern, subtracting the second wrapped cycle map from the first wrappedcycle map, and wrapping the difference between the second wrapped cyclemap and the first wrapped cycle map to generate a wrapped cycle mapcorresponding to the projected cyclical pattern of the predeterminedspacing.

[0016] The invention further relates to a method for mitigating theeffects of speckle on a measurement of a point on a surface of an objectincluding the steps of generating a coherent fringe pattern, projectingthe coherent fringe pattern along an optical path onto the surface ofthe object such that the fringe pattern substantially grazes the surfaceof the object, and detecting the fringe pattern and the speckle in animage of the surface of the object, where a normal to the surface of theobject is substantially orthogonal to the optical path.

[0017] The invention further relates to a method for mitigating theeffects of speckle on a measurement of a point on a surface of an objectincluding the steps of generating a coherent fringe pattern from twosources of radiation separated by a distance, projecting the coherentfringe pattern onto the surface of the object, detecting the fringepattern and the speckle in an image of the surface of the object,translating the two sources such that the fringe pattern remainssubstantially stationary and the speckle changes, detecting the newfringe pattern and the changed speckle in an image of the surface of theobject, and determining the fringe pattern substantially without specklein response to the detected fringe patterns and the change in speckle.

[0018] The invention also relates to a method for mitigating the effectsof speckle on a measurement of a point on a surface of an objectincluding the steps of generating a coherent fringe pattern from twosources of radiation separated by a distance, projecting the coherentfringe pattern onto the surface of the object, detecting the fringepattern and the speckle in an image of the surface of the object,translating the object laterally with respect to the two sources ofradiation along a path parallel to the equiphase plane of the fringepattern such that the fringe pattern remains substantially stationarywith respect to the surface of the object and the speckle changes,detecting the new fringe pattern and the changed speckle in an image ofthe surface of the object, and determining the fringe patternsubstantially without speckle in response to the detected fringepatterns and the change in speckle.

[0019] The invention also relates to a method for mitigating the effectsof speckle on a measurement of a point on a surface of an objectincluding the steps of projecting a coherent fringe pattern onto thesurface of the object, providing a lens having a transmission functionhaving a gradual transmission drop off at the lens edge, and detectingthe fringe pattern in an image of the surface of the object, where thetransmission function substantially reduces the speckle influence on themeasurement.

[0020] The invention also relates to a method for mitigating the effectsof speckle on a measurement of a point on a surface of an objectincluding the steps of generating a first fringe pattern from twosources of radiation having a first frequency and separated by adistance, changing the first fringe pattern to generate a second fringepattern by changing the first frequency to a second frequency, andchanging the distance in response to the difference between the firstfrequency and the second frequency, where the ratio of the distance tothe difference between the first frequency and the second frequency issubstantially constant.

[0021] The invention further relates to a method for projecting fringesonto a surface of an object including the steps of providing two sourcesof radiation separated by a distance, having a spectral distribution,and being coherent with respect to the other of the sources,illuminating the point on the surface of the object with the radiationfrom each of the sources, moving one of the sources relative to theother of the sources, and detecting radiation scattered by the point onthe surface of the object. In another embodiment of the invention, thestep of providing two sources of radiation includes providing an initialbeam of radiation having a spectral width, generating a first radiationbeam at a first beam angle and a second radiation beam at a second beamangle from the initial beam of radiation, and imaging the firstradiation beam and the second radiation beam to form the two sources ofradiation.

[0022] The invention also relates to an apparatus for projecting fringesonto a surface of an object including two sources of radiation separatedby a distance, each source having a spectral distribution, and beingcoherent with respect to the other of the sources, a control systemmoving each of the sources relative to the other of the sources, and adetector positioned to receive radiation scattered from the point on thesurface of the object. In another embodiment of the invention, the twosources of radiation include, an initial source of a beam of radiationhaving a spectral width, a beam separator in optical communication withthe initial source of a beam of radiation generating a first opticalbeam and a second optical beam, and an imaging system opticallyconnected to the beam separator. The imaging system generates the twosources of radiation each respective source of radiation correspondingto the first optical beam and the second optical beam, respectively.

[0023] The invention further relates to a method for determining, on anobject having a surface, three-dimensional position information of apoint on the surface of the object including the steps of providing twosources of radiation having a spectral distribution and being coherentwith respect to the other of the two sources, providing a detector atthe point on the surface, illuminating the point on the surface of theobject with the radiation from each of the sources, moving each of thesources relative to each other, detecting the radiation at the point onthe surface of the object, and calculating position information inresponse to the movement of the sources and the radiation detected atthe point on the surface of the object.

[0024] The invention further relates to an apparatus for determining, onan object having a surface, three-dimensional position information of apoint on the surface of the object including two sources of radiationhaving a spectral distribution and being coherent with respect to oneanother, a control system moving each of the sources relative to eachother, a detector positioned at the point on the surface of the objectto receive radiation illuminating the point on the surface of theobject, and a processor receiving signals from the detector, theprocessor calculating position information of the point on the surfaceof the object in response to the movement of the sources and theradiation received at the point on the surface of the object.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025] This invention is pointed out with particularity in the appendedclaims. The above and further advantages of this invention may be betterunderstood by referring to the following description taken inconjunction with the accompanying drawings, in which:

[0026]FIG. 1 is a block diagram of an embodiment of the invention formaking surface contour measurements;

[0027]FIG. 2 is a block diagram of an embodiment of a system forproducing the two sources of radiation shown in FIG. 1;

[0028]FIG. 2a is a block diagram of another embodiment of a system forproducing the two sources of radiation shown in FIG. 1;

[0029]FIG. 2b is a block diagram of yet another embodiment of a systemfor producing the two sources of radiation shown in FIG. 1;

[0030]FIG. 3 is a block diagram of an embodiment of apparatus forsupporting the two sources of radiation of FIG. 1 at a fixed distancerelative to one another;

[0031]FIG. 4 is another embodiment of the imaging system in FIG. 1.

[0032]FIG. 5 is a block diagram of an alternate embodiment of theinvention for making surface contour measurements;

[0033]FIG. 6 is a flow diagram of an embodiment of the steps utilized bythe processor of FIGS. 1 and 5 in making surface contour measurements;

[0034]FIG. 6a is one embodiment of a portion of the flow diagram of FIG.6;

[0035]FIG. 6b is another embodiment of a portion of the flow diagram ofFIG. 6;

[0036]FIG. 6c is yet another embodiment of a portion of the flow diagramof FIG. 6.

[0037]FIG. 7 is a block diagram of one embodiment of a detector andprocessor arrangement for use with the systems of FIGS. 1 and 5;

[0038]FIG. 7a is a block diagram of an alternate embodiment of adetector and processor arrangement including a multiprocessor for usewith the systems of FIGS. 1 and 5;

[0039]FIG. 7b is a block diagram of another alternate embodiment of adetector and processor arrangement for use in the systems of FIGS. 1 and5;

[0040]FIG. 8 is a block diagram of another embodiment of the inventionfor making surface contour measurements;

[0041]FIG. 9 shows one embodiment of photodetector elements positionedon the surface of an object in accordance with the embodiment of FIG. 8;and

[0042]FIG. 9a shows another embodiment of photodetector elementspositioned on spring arms for use in the embodiment of FIG. 8.

[0043]FIG. 10 is a block diagram of yet another embodiment of a systemfor producing the two sources of radiation shown in FIG. 1;

[0044]FIG. 11 is a block diagram of yet another embodiment of a systemfor producing the two sources of radiation shown in FIG. 1; and

[0045]FIGS. 12 and 12A are block diagrams of the embodiment of FIG. 1.

[0046]FIG. 13 illustrates an embodiment of a series of steps used toperform progressive fringe division.

[0047]FIG. 14 is a flowchart of an embodiment of a series of steps usedto perform progressive fringe division.

[0048]FIG. 14a is a flowchart of an embodiment of steps used to performprogressive fringe division utilizing fringe synthesis.

[0049]FIG. 15 is a flowchart of an embodiment of a method of progressivefringe division using fringe synthesis and frequency tuning.

[0050]FIG. 16 illustrates a block diagram of an embodiment of theinvention used in the method of FIG. 15.

[0051]FIG. 17 illustrates an embodiment of a broadbandinterference-fringe projector of the present invention.

[0052]FIG. 18 illustrates one embodiment of a liquid-crystal spatiallight modulator for use with an embodiment of the invention.

[0053]FIG. 19 illustrates one embodiment of two nested double slits foruse with an embodiment of the invention.

[0054]FIG. 20 illustrates an embodiment of the invention for generatingaccordion fringe motion.

[0055]FIG. 21 illustrates an embodiment of a broadbandinterference-fringe projector of the present invention.

[0056]FIG. 22 contains graphical representation of fringe number errorΔN as a function of {circumflex over (φ)}/(2π) for an embodiment of theinvention known as histogram-based derippling.

[0057]FIG. 22a is a graph of the slopes +1 of the curves shown in FIG.22.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0058] While describing the embodiment of the invention, reference willbe made to “sources” and “sources of radiation.” These terms are meantto refer to any source of radiation, including highly localized sourcesof radiation.

[0059] Referring to FIG. 1, and in brief overview, two sources ofradiation P₁ and P₂ are separated by a fixed distance D and have spatialcoordinates of (x₁,y₁,z₁) and (x₂,y₂,z₂), respectively. The radiationfrom each of the sources P₁ and P₂ is coherent with respect to theradiation from the other one of the sources. Each source, P₁ and P₂,directs its respective divergent beam of radiation 12 and 14 toward apoint P₀ on the surface of an object 10. The distance from eachrespective source of radiation, P₁ and P₂, to the point on the surfaceP₀ is indicated by R₁ and R₂, respectively. ψ is the angle between theline extending from the origin to the point P₀ and the line extendingbetween sources P₁ and P₂, θ is the angle between the z axis and theline extending between the sources P₁ and P₂, and α is the half anglesubtended by the source points as viewed from P₀. Each beam 12, 14 issubstantially polarized in the same direction as the other beam 14, 12and may be independently scannable to simultaneously illuminatedifferent regions on the object 10. Alternatively, the entire object 10may be illuminated simultaneously.

[0060] Light scattered 20 by the point P₀ is detected by a photodetector22. In one embodiment, the photodetector 22 comprises an array ofphotodetector elements providing a two dimensional image of the object10 to be measured. In a further embodiment, the array of photodetectorelements is a charge coupled device (CCD). The detector 22 provides anoutput signal 26 comprising one or more individual signals, each oneassociated with a corresponding one of the photodetector elements of thedetector 22.

[0061] In a preferred embodiment, a focusing element 24 is positionedbetween the point P₀ on the surface of the object 10, and thephotodetector 22, so as to image the illuminated portion of the objectincluding point P₀ onto the detector 22. Because of the roughness of thesurface of the object, and because the illuminating radiation iscoherent, the focused image will be speckled. The output signal 26 fromthe photodetector 22 is the input signal to a processor unit 28.

[0062] A polarizer 30, in one embodiment, is placed between the focusingelement 24 and the detector 22. Polarizer 30 is oriented in a directionto maximize its coincidence with the principal polarization component ofthe scattered light 20, so as to improve the speckle contrast or thecontrast of the fringe pattern. With this arrangement, thesignal-to-noise ratio associated with light scattered from the surfaceof the object 10 is maximized.

[0063] In one embodiment, the processor 28 is a single processor whichoperates on detector output signals 26 associated with each of thephotodetector elements of the detector array 22. In another embodiment,the processor 28 is a multiprocessor having a plurality of individualprocessors and each photodetector element provides an input signal to arespective one of the processors. In yet another embodiment, in whichthe detector 22 is a CCD array, a plurality of the CCD elements providean input signal to a respective processor of a multiprocessor. With themultiprocessor arrangements, computations on signals from a plurality ofindividual photoelements occur substantially simultaneously, therebyenhancing the signal processing speed.

[0064] A control unit 32 controls the operation of the sources ofradiation, P₁ and P₂, so as to change the phase of the radiation of oneof the sources relative to the phase of the radiation from the othersource as measured at the point P₀ on the surface of the object 10. Theprocessor 28 may be in communication with control unit 32 via signalline, or bus 34. For example, in certain applications it may bedesirable for the processor 28 to process signals from the detector 22at specific times relative to the scanning of the sources P₁ and P₂ overthe surface of the object 10 or relative to the rate at which thefrequency of the radiation from the sources is swept. Since suchscanning and frequency sweeping operations are controlled by controlunit 32, communication between the control unit 32 and the processor 28is desirable in these circumstances. It will be appreciated that thecontrol unit 32 and the processor 28 may be physically separate unitsor, alternatively, may be implemented by a single processing system.

[0065] Referring now to FIG. 2, in one embodiment the sources ofradiation P₁ and P₂ are formed from the radiation emitted from a tunablelaser 40. The radiation beam 44 emitted by the tunable laser 40 is splitby a beam splitter 48. The radiation beam 50 reflected by the beamsplitter 48 is caused to diverge by a lens 52. The divergent beam isthen reflected by a moveable aiming mirror 54. The radiation beamreflected by the aiming mirror 54 provides one of the sources ofcoherent radiation, P₁. Similarly, the radiation beam 46 passing throughthe beam splitter 48 is caused to diverge by a lens 58 which directs thedivergent beam to a second moveable aiming mirror 60. The radiation beamreflected by mirror 60 provides the second source of radiation, P₂.Aiming mirrors 54 and 62 may be pivotable to selectively illuminate thesurface of object 10. They may also be moveable to vary the positions ofsources P₁ and P₂.

[0066] Referring to FIG. 2a, another embodiment of the sources ofradiation P₁ and P₂ is shown to include a tunable laser source 40providing a beam of radiation 44. The radiation beam 44 passes through alens 62 which causes the beam to diverge, providing divergent beam 64.Divergent beam 64 is then reflected by beam splitter 48 to provide afirst beam 66. A second beam 68 passes through the beam splitter 48, asshown. Moveable aiming mirrors 54 and 60 reflect beams 66 and 68 toprovide sources P₁ and P₂, respectively.

[0067] Referring to FIG. 2b, in another embodiment the sources ofradiation P₁ and P₂ are split from the radiation emitted from a tunablelaser 40 using a fiber optic splitter 56. Fibers may have beam-formingelements at their end to control or set the divergence angle of the twobeams, and in one embodiment the beam-forming elements may be lenses.Sources P₁ and P₂ may alternatively be formed from a pair of tunablelasers which are frequency locked together. Other suitable embodimentsof radiation sources include any sources which generate a wave having acontrollable phase, such as microwaves and sonic waves.

[0068] In one embodiment, the sources of radiation P₁ and P₂ aremaintained at a fixed distance D from one another by attaching eachsource to one end of a bar comprised of a material having a smallcoefficient of expansion. In another embodiment, the sources ofradiation P₁ and P₂ are not held at a fixed distance but instead thedistance between them, D, is known to a high degree of accuracy.

[0069] One illustrative bar 70 for supporting radiation sources P₁ andP₂ at a fixed distance D relative to one another is shown in FIG. 3. Abar 70 is provided with sockets 74 at opposite ends thereof. A balljoint 76 is pivotally positioned within each of the sockets 74, asshown. Each of the ball joints 76 has an end of a fiber from a fiberoptic splitter 56 (shown in FIG. 2b) positioned therein and an aperture80 through which divergent radiation passes. Fibers may havebeam-forming elements at their end to control or set the divergenceangle of the two beams and in one embodiment the beam forming elementsare lenses. In operation, the ball joints 76 are pivotable as shown byarrows 78 within the respective socket 74 and may be under the controlof control unit 32 (shown in FIG. 1). With this arrangement, thedivergent beams 12 and 14 provided by the sources P₁ and P₂ at the endsof the fibers can be directed as desired to illuminate all, or aportion, of the object 10 including the point P₀ to be processed, whilemaintaining a fixed separation distance D.

[0070] Referring again to FIG. 1, the coordinates of point P₀ on thesurface of object 10 are (x,y,z). Although the x and y coordinates of P₀are generally directly determinable from the geometry of the detector 22and the object 10, taking into account any magnification by interveningfocusing element 24, the depth coordinate z, where the z axis is definedas being parallel to the optical axis of the imaging system, is notdirectly obtainable. The depth coordinate, z, however can be measured byfirst considering the difference in path length

s=R ₂ −R ₁ +S ₀  (1)

[0071] from the radiation sources P₁ and P₂ to the point P₀ on thesurface of the object 10. The quantity S₀ is included to account for anypath length difference in the beams that may occur before they reachpoints P₁ and P₂.

[0072] If s is non-zero, then changing the frequency of the radiationemitted from sources P₁ and P₂ will result in the phase of the radiationfrom one source, as measured at point P₀, changing with respect to theother source. This phase change results in a modulation of intensity ofthe radiation at point P₀. The change in frequency, Δν, required tocomplete one cycle of a change in intensity is given by the expression:$\begin{matrix}{{\Delta \quad v} = \frac{c}{s}} & (2)\end{matrix}$

[0073] where c is the speed of light. Thus, by measuring the change inlaser frequency, Δν, needed to cause one oscillation of intensity, thepath difference s may be determined. The measurement of z is then basedon determining the value of s for each value of x and y, as discussedbelow.

[0074] Improved accuracy in the determination of s is obtained bymeasuring Δν over many oscillation cycles. In practice it is convenientto work in terms of the number of oscillation cycles N (not necessarilya whole number) induced by a total change in frequency B.

[0075] N is given in terms of Δν and B as: $\begin{matrix}{N = \frac{B}{\Delta \quad v}} & (3)\end{matrix}$

[0076] Elimination of Δν from Eq. (3) using Eq. (2) yields the followingexpression for s in terms of N: $\begin{matrix}{s = {\frac{c}{B}N}} & (4)\end{matrix}$

[0077] It should be noted that the number of oscillation cycles Ninduced by a frequency scan of length B corresponds to the number ofinterference fringes that move across the measurement point P₀ duringthe frequency scan. The interference fringes are produced by theinterference of radiation emitted from the sources P₁ and P₂. Theseoscillations occur whether or not the fringes are resolved by theimaging lens 24.

[0078] An uncertainty ΔN in the measurement of N, corresponds to anuncertainty Δs in s of $\begin{matrix}{{\Delta \quad s} = {{\frac{c}{B}\Delta \quad N} = {s\frac{\Delta \quad N}{N}}}} & (5)\end{matrix}$

[0079] Equation (5) indicates that if the uncertainty ΔN to which asingle oscillation cycle can be determined remains constant, theuncertainty Δs in s is reduced by a factor equal to the number of cyclesN that are measured. There are numerous methods for determining N tovarious levels of resolution ΔN that are known to those skilled in theart. Examples of methods yielding a resolution of roughly oneoscillation-cycle count (ΔN=1) are to perform a fast Fourier transform(FFT) on the data sequence or to count zero crossings of the high-passfiltered signal. Improved resolution of a fraction of anoscillation-cycle count (ΔN<1) can be achieved, for example, by findingthe argument of the discrete Fourier transform (DFT) where the magnitudeof the DFT is maximized or by inspecting the phase of the oscillationcycle at the ends of the frequency scan. One technique known to thoseskilled in the art for accurate inspection of the phase is to insert aphase modulator in one leg of the beam path, i.e., between the beamsplitter or fiber-optic splitter and one of the sources P₁ or P₂ inFIGS. 2, 2(a), and 2(b).

[0080] If I₁, I₂, and I₃ are signal intensities corresponding to phaseshifts induced by the phase modulator of −90°, 0°, and 90°,respectively, then the phase φ of the oscillation cycle is given by:$\begin{matrix}{\varphi = {\tan^{- 1}\left( \frac{I_{1} - I_{3}}{{2I_{2}} - I_{1} - I_{3}} \right)}} & (6)\end{matrix}$

[0081] An uncertainty Δø in phase is converted to an uncertainty ΔN inthe cycle count by dividing by 2π.

[0082] For a typical frequency scan of B=15 THz for a tunable diodelaser, and for an uncertainty of ΔN=1 cycle, an uncertainty of Δs=20 μmis provided. An uncertainty of ΔN=0.1 cycle would improve theuncertainty in s to Δs=2.0 μm, provided that the spread in s over thelateral resolution is smaller than this quantity. If the spread in sover the lateral resolution on the surface of the object is larger thanΔs, then the improved resolution in the measurement of s may stillresult in an improved estimate of an average or representative value ofs over that lateral resolution.

[0083] In terms of the coordinate system:

s={square root}{square root over ((x−x ₂)²+(y−y ₂)²+(z−z ₂)²)}−{squareroot}{square root over ((x−x ₁)²+(y−y ₁)²+(z−z ₁)²)}  (7)

[0084] To make the calculation simpler, assume that the two sources P₁and P₂ are located symmetrically about the origin at (x₁,y₁,z₁) and(−x₁,−y₁,−z₁). Then Eq. (7) becomes, in terms of (x₁,y₁,z₁):

s={square root}{square root over ((x+x ₁)²+(y+y ₁)²+(z+z ₁)²)}−{squareroot}{square root over ((x−x ₁)²+(y−y ₁)²+(z−z ₁)²)}  (8)

[0085] Solving for z, Eq. (8) becomes: $\begin{matrix}{z = \frac{\begin{matrix}{{4\left( {{x\quad x_{1}} + {y\quad y_{1}}} \right)z_{1}} \pm \frac{s}{2}} \\\sqrt{{16\left( {{x\quad x_{1}} + {y\quad y_{1}}} \right)^{2}} + {\left( {s^{2} - {4z_{1}^{2}}} \right)\left( {s^{2} - D^{2} - {4x^{2}} - {4y^{2}}} \right)}}\end{matrix}}{s^{2} - {4z_{1}^{2}}}} & (9)\end{matrix}$

[0086] where D is the distance between the two sources P₁ and P₂. Thus zis determined to within an ambiguity due to the existence of thepositive and negative roots of Eq. (9). One way to avoid this ambiguityis by illuminating the object 10 so that the s=0 line (labeled 16 inFIG. 1 for the case s₀=0) does not bisect the region of the object to beimaged. One way of moving the s=0 line is to vary s₀ in Eq. (1).

[0087] The sensitivity of the system to changes in s is shown by theratio of Δs/Δz, where Δz is the uncertainty in z introduced by anuncertainty Δs in the value of s. This ratio ranges between zero, for asystem lacking any practical range sensitivity and two, for atheoretically maximal system. A value of two is impractical to achievebecause the surface of the object 10 would have to lie between the twopoint sources P₁ and P₂ and only one side of the surface could beilluminated from each beam. The ratio Δs/Δz is calculated by taking thepartial derivative of s with respect to z, from which the followingexpression for the range resolution is obtained: $\begin{matrix}{{\Delta \quad z} = {\Delta \quad {s\left( {\frac{z + z_{1}}{\sqrt{R_{0}^{2} + {R_{0}D\quad \cos \quad \psi} + \frac{D^{2}}{4}}} - \frac{z - z_{1}}{\sqrt{R_{0}^{2} - {R_{0}D\quad \cos \quad \psi} + \frac{D^{2}}{4}}}} \right)}^{- 1}}} & (10)\end{matrix}$

[0088] In equation (10), R₀ is the distance from the origin to P₀ and ψis the angle between the line extending from the origin to the point P₀and the line extending from point P₁ to point P₂ as shown in FIG. 1. Auseful configuration that provides good range resolution is to set ψ=90°for which the expression for Δz simplifies to $\begin{matrix}{{\Delta \quad z} = \frac{\Delta \quad s}{2\quad \sin \quad \alpha \quad \cos \quad \theta_{s}}} & (11)\end{matrix}$

[0089] where θs and α are as shown in FIG. 1. In terms of R₀ and D,tanα=D/(2R₀). Equation (11) shows that the range resolution improves asthe angle α increases and the angle θs decreases. For values of Δs=5 μm,α=10°, and θ_(s)=45°, the range resolution is Δz=20 μm.

[0090] Uncertainties (Δx, Δy) in the lateral position (x, y) of point P₀also affect the range resolution Δz. If the two source points lie in thex-z plane, then the measurement of z is insensitive to uncertainties Δy.For ψ=90°, uncertainties Δx in x cause an uncertainty

Δz=Δx tan θ _(s)  (12)

[0091] in the measurement of z. Therefore, angles near θ_(s)=0° offerthe best immunity to uncertainty in the lateral position of point P₀.

[0092] Because the depth of focus decreases as the lateral resolution ofthe optical system improves, there is a tradeoff between lateralresolution and maximum object depth. One method for reducing thislimitation in object depth is to sequentially focus on different rangeplanes and use only those pixels that are within the depth of focus. Forexample, a 100 μm lateral resolution would limit the depth of field tothe order of 1 cm, and an object with a 10 cm range could be imaged atfull resolution by focusing sequentially at ten different ranges. Tominimize the effects of depth of field, the z axis can be defined in adirection that minimizes the range extent, i.e., normal to the averageplane of the surface of the object. To increase the lateral area thatcan be imaged without losing lateral resolution, multiple cameras (i.e.,detector arrays 22) can be used to cover the entire area of interest ofthe object 10 or individual cameras can be used for inspecting regionsof interest. Alternatively, the focal plane of single lenses can bepopulated with a plurality of detector arrays. These arrays can betranslated independently to inspect various regions of the object athigh resolution. Translation of individual detector arrays along the zaxis or tilting of the detector arrays can achieve simultaneous focusingfor regions of the object at different depths to increase the allowableobject depth.

[0093] A potential difficulty with the optical imaging system in FIG. 1is that the bistatic angle between the sources and the detector mayintroduce shadowing effects. These effects can be reduced by placing thelens closer to the sources as in FIG. 4 and using the lens in anoff-axis configuration where the detector is offset laterally in theimage plane. If the lens is designed for this purpose or has asufficiently large field of view, then aberrations resulting fromoff-axis imaging can be minimized.

[0094] Referring to FIG. 5, an alternate embodiment of the presentinvention includes a moveable radiation source P₁ and a stationaryradiation source P₂, each providing a divergent beam 150 and 154 andhaving a path length labeled R₁ and R₂ between such radiation source anda point P₀ on the surface of an object 10, respectively. The sources P₁and P₂ may be generated by any suitable source of coherent radiation,such as a monochromatic laser, which is split to provide the two pointsources P₁ and P₂. Moreover, various techniques are suitable forsplitting the radiation from the coherent radiation source, such as thebeam splitter embodiments of FIGS. 2 and 2a and the fiber-optic splitterembodiment of FIG. 2b.

[0095] The divergent beams 150 and 154 are directed toward a surface ofan object 10 on which a point P₀ is located having position informationwhich is to be measured. Illumination scattered by the surface of theobject 10 is focused by a focusing element, or lens 158 to impinge on adetector array 22. The lens can be used in an off-axis configuration asillustrated in FIG. 4 to reduce shadowing effects due to the bistaticangle. An optional polarizer (not shown) of the type described above inconjunction with FIG. 1 may be positioned between the focusing element158 and the detector array 22 in order to improve the contrast of thespeckle image or the fringe pattern incident on the detector array 22.

[0096] The detector array 22 is in communication with a processor unit28 for processing the image incident on the detector, as will bedescribed. A control unit 32 is in communication with at least themoveable source P₁ for moving the source P₁ along an axis 160. As notedabove, the control unit 32 and the processor unit 28 may be implementedby separate devices or alternatively, may be part of a single system.Additionally, the control unit 32 and the processor unit 28 maycommunicate with each other, as may be desirable in certainapplications.

[0097] As described above in conjunction with FIG. 1, the depthcoordinate z associated with a point P₀ on the surface of the object 10can be determined as a function of the difference, R₂−R₁, between thepath lengths R₁ and R₂ of beams 150 and 154, from sources P₁ and P₂respectively, to point P_(o). In the embodiment of FIG. 5, the phase ofthe radiation from moveable source P₁ is changed by moving the source P₁along the axis 160 under the control of the control unit 32. With thisarrangement, oscillations in the intensity at point P₀ are produced.

[0098] The instantaneous coordinates of moveable point source P₁ are

x ₁ =al _(s) , y ₁ =am _(s), and z ₁ =an _(s)  (13)

[0099] where a represents the magnitude of translation of point sourceP₁, and l_(s), m_(s), and n_(s) are direction cosines representing thedirection of translation with respect to the x, y and z axes,respectively. The phase difference of the radiation from the sources P₁and P₂ as measured after propagation to point P₀ is given by:$\begin{matrix}{\varphi = {{\frac{2\pi}{\lambda}\left( {R_{2} - R_{1}} \right)} + \varphi_{0}}} & (14)\end{matrix}$

[0100] where φ₀ represents a constant phase offset that may existbetween the two coherent sources P₁ and P₂. As P₁ translates along axis160, the value of R₁ changes, causing φ to vary as a function of a.

[0101] The number of intensity oscillations that occur at point P₀ (orinterference fringes that cross point P₀) as source P₁ moves away fromthe origin is given by: $\begin{matrix}\begin{matrix}{N = \frac{{\varphi (a)} - {\varphi (0)}}{2\quad \pi}} \\{= \frac{R_{0} - R_{1}}{\lambda}} \\{= {\frac{1}{\lambda}\left\lbrack {\sqrt{x^{2} + y^{2} + z^{2}} - \sqrt{\left( {x - {a\quad l_{s}}} \right)^{2} + \left( {y - {a\quad m_{s}}} \right)^{2} + \left( {z - {a\quad n_{s}}} \right)^{2}}} \right\rbrack}}\end{matrix} & (15)\end{matrix}$

[0102] where R_(o) is the distance between point P₀ and the origin ofthe coordinate system, φ(a) is the optical phase difference in Eq. (14)for a source separation of a, and φ(0) is the optical phase differencein Eq. (14) for a equal to 0. Consideration of Eq. (15) reveals that thenumber of intensity oscillations, N, resulting from movement from sourceP₁ is independent of the location of the stationary source P₂. Thisindependence permits the sources P₁ and P₂ to be positioned in closeproximity to one another. With this arrangement, the divergent beams 150and 154 from respective sources P₁ and P₂ experience commondisturbances, such as air turbulence and vibrations. In this way, theeffects of such disturbances are minimized. Additionally, beams 150 and154 reach the surface of the object 10 with substantially identicalpolarization.

[0103] Note also that a small separation between the sources P₁ and P₂produces a fringe pattern on the surface of the object 10 with a largefringe spacing that can be easily resolved by the imaging lens 24.

[0104] Since the magnitude of translation a of point source P₁ isrelatively small as compared to the value of R₀, Eq. (15) can beapproximated to second order in a/R₀ as follows: $\begin{matrix}{N = {\frac{a}{\lambda}\left\lbrack {{\cos \quad \psi} - {\frac{1}{2}\sin^{2}\psi \frac{a}{R_{0}}} - {\frac{1}{2}\cos \quad \psi \quad \sin^{2}\psi \frac{a^{2}}{R_{0}^{2}}}} \right\rbrack}} & (16)\end{matrix}$

[0105] where ψ is the angle between the line extending from the originto the point P₀ and the line defined by the direction of translation ofP₁.

[0106] Eq. (16) indicates that to lowest order in a/R₀, knowledge of Nallows the angle ψ to be determined. Given knowledge of ψ from three ormore locations, the (x,y,z) coordinates of P₀ could be determinedthrough triangulation. We now describe an embodiment similar to the onecorresponding to FIG. 1, where the x and y coordinates are determinedfrom location of the image point in the detector array.

[0107] The measurement of z for a given (x,y) location can be madeeither by determining the number of intensity oscillation cycles Ncorresponding to a movement of P₁ by a distance or by measuring the rateat which such intensity oscillations occur. Consider first a measurementof z based on determining the number of cycles N. With N known, all ofthe variables in Eq. (15) are known except for z. Solving Eq. (15) for zyields the following expression: $\begin{matrix}{z = \frac{{A\quad n_{s}} \pm {\overset{\_}{\rho}\sqrt{A^{2} - {\left( {{\overset{\_}{\rho}}^{2} - n_{s}^{2}} \right)\left( {x^{2} + y^{2}} \right)}}}}{{\overset{\_}{\rho}}^{2} - n_{s}^{2}}} & (17) \\{{where}{A = {{x\quad l_{s}} + {y\quad m_{s}} + {\frac{a}{2}\left( {{\overset{\_}{\rho}}^{2} - 1} \right)}}}} & (18) \\{{and}{\overset{\_}{\rho} = \frac{\lambda \quad N}{a}}} & (19)\end{matrix}$

[0108] Equation (19) defines a dimensionless parameter having amagnitude ranging between zero and unity that represents the averagemodulation rate of the speckle intensity in terms of oscillation cyclesN per wavelength unit traveled by P₁. For values of a approaching zero,Eq. (17) can be approximated as: $\begin{matrix}{z = \frac{{\left( {{x\quad l_{s}} + {y\quad m_{s}}} \right)n_{s}} \pm {\overset{\_}{\rho}\sqrt{\left( {{x\quad l_{s}} + {y\quad m_{s}}} \right)^{2} - {\left( {{\overset{\_}{\rho}}^{2} - n_{s}^{2}} \right)\left( {x^{2} + y^{2}} \right)}}}}{{\overset{\_}{\rho}}^{2} - n_{s}^{2}}} & (20)\end{matrix}$

[0109] The expressions for z in Eqs. 17 and 20 can be simplified bysetting n_(s)=0, so that the translation of source P₁ is confined to thex-y plane. This arrangement represents a good practical choice fortranslation of source P₁, as described below. The resulting expressionfor z can be written as follows:

z={square root}{square root over (R₀ ²−x²−y²)}  (21)

[0110] where the distance R_(o) from the scattering point P₀ to theorigin of the x, y coordinate system is given by the exact expression:$\begin{matrix}{R_{0} = \frac{{x\quad l_{s}} + {y\quad m_{s}} + {\frac{a}{2}\left( {{\overset{\_}{\rho}}^{2} - 1} \right)}}{\overset{\_}{\rho}}} & (22)\end{matrix}$

[0111] When a is small, R₀ can be approximated as: $\begin{matrix}{R_{0} = \frac{{x\quad l_{s}} + {y\quad m_{s}}}{\overset{\_}{\rho}}} & (23)\end{matrix}$

[0112] Consider now the measurement of z based on knowledge of theinstantaneous rate at which the intensity oscillations occur. Theinstantaneous oscillation rate ρ can be expressed in a manner similar tothe average oscillation rate in Eq. (19), as follows: $\begin{matrix}{\rho = {\lambda \frac{\partial N}{\partial a}}} & (24)\end{matrix}$

[0113] Substituting the expression for the number of intensityoscillations, N, from Eq. (15) into Eq. (24) yields: $\begin{matrix}{\rho = \frac{{x\quad l_{s}} + {y\quad m_{s}} + {z\quad n_{s}} - a}{\sqrt{\left( {x - {a\quad l_{s}}} \right)^{2} + \left( {y - {a\quad m_{s}}} \right)^{2} + \left( {z - {a\quad n_{s}}} \right)^{2}}}} & (25)\end{matrix}$

[0114] where the relation:

l _(s) ² +m _(s) ² =n _(s) ²=1  (26)

[0115] has been used to simplify the numerator. For small values of a, ρcan be approximated as: $\begin{matrix}{\rho \approx {{\cos \quad \psi} - {\sin^{2}\psi \frac{a}{R_{0}}} - {\frac{3}{2}\cos \quad \psi \quad \sin^{2}\psi \frac{a^{2}}{R_{0}^{2}}}}} & (27)\end{matrix}$

[0116] Solving, Eq. (25) for z yields: $\begin{matrix}{z = \frac{O \pm Q}{\rho^{2} - n_{s}^{2}}} & (28)\end{matrix}$

[0117] where

O=[xl _(s) +ym _(s) +a(ρ²−1)]n _(s)  (29)

[0118] and

Q=ρ{square root}{square root over (a(ρ²−1)[2(xl_(s)+ym_(s))−a(l_(s)²+m_(s) ²)]+(xl_(s)+ym_(s))²−(ρ²−n_(s) ²)(x²+y²))}  (30)

[0119] When n_(s)=0, Eq. (29) can be written in the form of Eq. (21),with: $\begin{matrix}{R_{0} = \frac{\sqrt{{{a\left( {\rho^{2} - 1} \right)}\left\lbrack {{2\left( {{x\quad l_{s}} + {y\quad m_{s}}} \right)} - a} \right\rbrack} + \left( {{x\quad l_{s}} + {y\quad m_{s}}} \right)^{2}}}{\rho }} & (31)\end{matrix}$

[0120] For small values of a, Eqs. (28) and (31) can be approximated byEqs. (20) and (23), respectively, with {overscore (ρ)} replaced by ρ.

[0121] In order to estimate range resolution, consider the uncertaintyΔz in the measurement of z that would be introduced by an uncertainty(ΔN or Δρ) in the quantity being measured. For simplicity, thiscalculation is based on the approximate expression for N given by Eq.(16). To find Δz, we take the partial derivative of N (or ρ) withrespect to z and equate this derivative to the ratio ΔN/Δz (or Δρ/Δz),to yield: $\begin{matrix}{{\Delta \quad z} = {{G\frac{R_{0}}{a}\lambda \quad \Delta \quad N} = {G\quad R_{0}\Delta \quad \rho}}} & (32) \\{{where}{G = {\frac{1}{n_{s} - {\left( {{l\quad l_{s}} + {m\quad m_{s}} + {n\quad n_{s}}} \right)n}} = \frac{1}{\sin \quad {\theta \left\lbrack {{\cos \quad \theta_{s}\sin \quad \theta} - {\cos \quad \theta \quad \sin \quad \theta_{s}{\cos \left( {\varphi - \varphi_{s}} \right)}}} \right\rbrack}}}}} & (33)\end{matrix}$

[0122] is a geometrical factor that accounts for the direction oftranslation and the direction to the scattering point. In the first formfor G,

l=x/R ₀ , m=y/R ₀, and n=z/R ₀  (34)

[0123] are direction cosines for the Point P₀. In the second form for G,θ and φ are the polar and azimuthal angles, respectively, representingthe direction from the origin to P₀ in a spherical-polar coordinatesystem. Likewise, the direction of translation of the source point isgiven by θ_(s) and φ_(s).

[0124] Consideration of Eq. (32) reveals that range resolution degradeswith increasing object distance R₀ and improves with increasingmagnitude of translation a of source P₁. Consideration of Eq. (33)reveals that the geometrical factor G ranges between unity and infinity,where unity corresponds to the best range resolution achievable.

[0125] The optimal direction of translation of source P₁ for a givenscattering-point direction is obtained from Eq. (33) by choosing l_(s),m_(s), and n_(s) such that G is minimized for the given values of l, mand n. Application of this constraint yields: $\begin{matrix}{\left( {l_{s},m_{s},n_{s}} \right) = \left( {{- \frac{n\quad l}{\sqrt{1 - n^{2}}}},{- \frac{n\quad m}{\sqrt{1 - n^{2}}}},\sqrt{1 - n^{2}}} \right)} & (35)\end{matrix}$

[0126] which implies that the optimal translation direction isorthogonal to the line extending from the origin to the scattering pointP₀ (ψ=90°) and lies in the plane of incidence formed by said line andthe z axis (φ_(s)=φ). Substitution of the values in Eq. (35) into Eq.(33) results in: $\begin{matrix}{G = {\frac{1}{\sqrt{1 - n^{2}}} = {\frac{1}{\sqrt{l^{2} + m^{2}}} = \frac{1}{\sin \quad \theta}}}} & (36)\end{matrix}$

[0127] From Eq. (36), it is observed that the best achievable G value ofunity occurs when n=0 (θ=90°), which implies that the scattering pointlies in the x-y plane. It is also observed that the resolution degradessuch that G approaches infinity for scattering points lying on the zaxis. For example, G=2 for θ=30° and G=5.76 for θ=10°. Although it isnot possible to satisfy Eq. (35) for every point in the image withoutchanging the translation direction for each point, the condition foroptimal resolution can be approximated by satisfying Eq. (35) for arepresentative image point.

[0128] By Eqs. (25) and (27), the instantaneous modulation rate ρdepends on the offset magnitude a of the translating point. Fortechniques based on measuring ρ, it is desirable for ρ to vary as littleas possible during the scan so that there is nearly a one-to-onecorrespondence between values of ρ and z. Then standardspectral-analysis techniques can be applied to estimate the value of ρand determine z. To quantify the degree of nonuniformity in ρ thatoccurs during a scan, we define: $\begin{matrix}{\chi = {\frac{{\rho (a)} - {\rho (0)}}{\rho (0)} = \frac{{\rho (a)} - {\cos \quad \psi}}{\cos \quad \psi}}} & (37)\end{matrix}$

[0129] Substitution of the approximate form for ρ from Eq. (27) into Eq.(37) and keeping only the lowest order term containing a, yields:$\begin{matrix}{\chi \approx {\frac{\sin^{2}\psi}{\cos \quad \psi}\frac{a}{R_{o}}}} & (38)\end{matrix}$

[0130] Equation (38) states that the modulation nonuniformity increaseslinearly in the ratio a/R₀ of scan length to object distance.Furthermore, the nonuniformity vanishes when ψ=0° and increases withoutbound when ψ=90°. We observe, however, that there is no range resolutionwhen ψ=0° because all points on the ψ=0° line have the same modulationrate, regardless of range, i.e., G=∞ in Eq. (33). Therefore, there is atradeoff between minimizing the nonuniformity and obtaining optimalrange resolution.

[0131] A reasonable measurement configuration that simultaneouslyprovides good range resolution and reduced modulation nonuniformity isto set n_(s)=0 and to use an off-axis optical system with the offset inthe φ_(s) direction, i.e., φ=φ_(s). Then Eq. (33) for G reduces to:$\begin{matrix}{G = \frac{- 2}{\sin \left( {2\quad \theta} \right)}} & (39)\end{matrix}$

[0132] As an illustrative example of the measurement technique, supposeit is desired to image an object that is 200 mm by 200 mm in the x-yplane from a distance of R₀=1 m using a laser of wavelength λ=0.7 μm. Ifn_(s)=0 and the center of the object is located at θ=30° and φ=φ_(s),then, by Eq. (39), the geometric factor G will vary between 2.1 and 2.6over the field of view. By Eq. (32), a translation of a=5 mm willproduce a range uncertainty of Δz=16 μm (in the middle of the image) foran uncertainty in the number of oscillations of one-twentieth of acount, i.e., ΔN=0.05. The total number of oscillation counts for theentire scan is N=3600 by Eq. (16). To estimate the modulationnonuniformity at the center of the image, we set ψ=60° in Eq. (38) andobtain χ=0.0075 so that there is less than a 1% nonuniformity over thescan. This nonuniformity could be reduced further by introducing slightvariations in the scan rate during the scan to compensate for any changein frequency during the measurement.

[0133]FIG. 6 depicts an illustrative series of steps to be executed bythe processor 28 of FIGS. 1 and 5 to determine the depth coordinate z ateach point (x, y) on the object. The processor begins (step 100) bymeasuring a parameter of the intensity of the radiation scattered by aplurality of illuminated points on the object surface (step 108). Fromthis information, the z coordinate for each measured point is calculated(step 112).

[0134] An optional filtering process may be performed in step 116.Suitable filters known to those skilled in the art include, but are notlimited to, smoothing filters, median filters and curve-fitting filters.Thereafter, the mapped points can be displayed or output in anyway knownto one of ordinary skill in the art, following which the process isterminated in step 124, as shown. In one embodiment, the mapped pointsare plotted as a function of the computed z information on a mesh plotin step 120.

[0135] Referring also to FIG. 6a, one embodiment of steps 108 and 112,suitable for use with the embodiment of FIG. 1 is shown. In step 108′,the intensity of the scattered illumination is measured as a function oflaser frequency offset and N is measured using one of the methods knownto those skilled in the art. Thereafter, s is calculated for eachlocation (xy) in step 110′ using Eq. (4) and z is calculated for eachlocation (x,y) in step 112′ using Eq. (9).

[0136] An alternate embodiment of process steps 108 and 112 for use inconjunction with the embodiment of FIG. 5 is shown in FIG. 6b. In thiscase, the parameter of the intensity measured in step 108″ is the numberof times, N (not necessarily a whole number), that the intensity cyclesas the moveable source P₁ (FIG. 5) translates. Once N has beendetermined in step 108″ through one of the methods known to be skilledin the art it is converted to {overscore (ρ)} by Eq. (19) in step 110″.z is then calculated in step 112″ with the use Eqs. (17) and (18).Another embodiment of process steps 108 and 112 for use in conjunctionwith the embodiment of FIG. 5 is shown in FIG. 6C. Here, the parameterof the intensity measured in step 108″ is the instantaneous oscillationrate ρ at which oscillations occur as the source point P₁ translates. ρis converted to z in step 112′″ through Eqs. (28)-(30).

[0137] Various arrangements of detector 22 and processor 28 arepossible. In one embodiment, shown in FIG. 7, the photodetector elements22 _(1,1) to 22 _(n,m) of the detector array 22 are read out serially.The serial output 36 of detector array 22 provides an input to aprocessor 28. Processor 28 may comprise a single processor oralternatively, may be a multiprocessor comprising a plurality ofprocessors.

[0138] Referring also to FIG. 7a, an alternate detector and processorarrangement is shown. In this embodiment, the processor 28 is amultiprocessor comprising a plurality of processors 28 _(1,1) to 28_(n,m). Each of the photodetector elements 22 _(1,1) to 22 _(n,m) of thedetector array 22 provides a respective output signal 38 to acorresponding one of the processors 28 _(1,1) to 28 _(n,m). With thisarrangement, each of the processors 28 _(1,1) to 28 _(n,m) is able tooperate substantially simultaneously, in order to provide substantialperformance advantages. More particularly, each processor 28 _(1,1) to28 _(n,m) in the multiprocessor unit 28 is responsible for making the zcoordinate calculation based upon the data received from thecorresponding element 22 _(1,1) to 22 _(n,m) of the photodetector array22. Thus, the z coordinate for each location of the surface of theobject 10 may be determined rapidly.

[0139]FIG. 7b shows a further alternate embodiment of the detector andprocessor components for use in the systems of FIGS. 1 and 5 in the formof a unitary detector and processor array 25. The array 25 is fabricatedon, and supported by, a common substrate or is fabricated as aMulti-Chip Module (MCM) or with Surface Mount Technology (SMT). Thedetector portion of the array 25 includes photodetector elements 22_(1,1) to 22 _(n,m) and the multiprocessor portion of the array includesprocessors 28 _(1,1) to 28 _(n,m). More particularly, each of thedetectors 22 _(1,1) to 22 _(n,m) is associated with, and positionedadjacent to, a respective one of the processors 28 _(1,1) to 28 _(n,m)and provides an input signal to the respective processor, as shown. Theprocessors 28 _(1,1) to 28 _(n,m) process the information from therespective detectors 22 _(1,1) to 22 _(n,m) substantially simultaneouslyto provide the determined depth coordinates.

[0140] Referring to FIG. 8, another embodiment of the invention includesan array of detectors 22′ placed against the surface of the object 10whose surface contour is to be measured. With this arrangement, ratherthan observing the light scattered from the point P₀ on the surface ofthe object 10 to determine z, the measurement of the phase shifting ofthe light is performed directly at the surface of the object. Althoughnot shown, the system of FIG. 8 includes a control unit 28 forcontrolling sources P₁ and P₂ and a processor 28 for processingradiation incident on detector 22′ as shown and described above inconjunction with FIGS. 1, 5 and 6.

[0141] The arrangement and mechanism for locating the photodetectorelements 23 on the surface of the object 10 may vary. In one embodimentshown in FIG. 9, a plurality of individual photodetector elements 23 ofarray 22′ are positioned on the surface of the object 10 in the area ofinterest.

[0142] In another embodiment, shown in FIG. 9a, individual photodetectorelements 23 of the array 22′ are mounted on spring arms 84 cantileveredfrom a support and control unit 88. The spring arms 84 are moved overthe surface of the object 10 by the control unit 88 in order to contactspecific points, or regions of interest. The cantilevered support ofspring arms 84 causes each individual detector 23 to remain in contactwith a location on the surface of the object 10 as the arms 84 are movedthereover. That is, as the contour of the object surface varies, thespring arms 84 move up and down accordingly.

[0143] It will be appreciated that two or more additional radiationsources may be used in apparatus and methods of the present invention.For example, an additional source or sources can be used to determinex,y coordinate information regarding the object or a portion thereof.Additionally, extra radiation sources may be used to reduce anyprocessing inaccuracies or ambiguities attributable to shadowing of aregion of interest.

[0144] It will also be appreciated that other variations to theembodiment involving moving source points may be used. For example, thetwo points may both move with opposing motion, they may both move in thesame direction with constant separation, they may rotate about a commoncenter point, or motion may be simulated by using an array of sourcepoints that can be switched on and off by the control system.

[0145] Movement of both sources can provide advantages over a singlemoveable source such as reduction of the modulation nonuniformity in Eq.(38). A strategy for reducing this nonuniformity is to eliminate thelinear term in Eq. (27) for r by moving the points in such a way that Nis an odd function of a. Splitting the translation equally between thetwo sources so that their center remains fixed (referred to as opposingmotion) results in the following expression: $\begin{matrix}{N = {\frac{R_{2} - R_{1}}{\lambda} = {\frac{1}{\lambda}\left\lbrack {\sqrt{\left( {x + {\frac{a}{2}l_{s}}} \right)^{2} + \left( {y + {\frac{a}{2}m_{s}}} \right)^{2} + \left( {z + {\frac{a}{2}n_{s}}} \right)^{2}} - \sqrt{\left( {x - {\frac{a}{2}l_{s}}} \right)^{2} + \left( {y - {\frac{a}{2}m_{s}}} \right)^{2} + \left( {z - {\frac{a}{2}n_{s}}} \right)^{2}}} \right\rbrack}}} & (40)\end{matrix}$

[0146] The expansion of N corresponding to Eq. (16) that contains termsup to fourth order in a is: $\begin{matrix}{N \approx {\frac{a}{\lambda}\left\lbrack {{\cos \quad \Psi} - {\frac{1}{8}\quad \cos \quad {\Psi sin}^{2}\Psi \frac{a^{2}}{R_{0}^{2}}}} \right\rbrack}} & (41)\end{matrix}$

[0147] Thus, the second-order term in a and all higher-order even termsin a are eliminated and the magnitude of the third-order term isdecreased by a factor of four.

[0148] An exact expression for z based on Eq. (17) and Eq. (22) is thusgiven by: $\begin{matrix}{z = \frac{\begin{matrix}{{\left( {{x\quad l_{s}} + {y\quad m_{s}}} \right)n_{s}} \pm} \\{\overset{\_}{\rho}\sqrt{\left( {{x\quad l_{s}} + {y\quad m_{s}}} \right)^{2} - {\left( {{\overset{\_}{\rho}}^{2} - n_{s}^{2}} \right)\left\lbrack {x^{2} + y^{2} + {\left( {a^{2}/4} \right)\left( {{\overset{\_}{\rho}}^{2} - 1} \right)}} \right\rbrack}}}\end{matrix}}{{\overset{\_}{\rho}}^{2} - n_{s}^{2}}} & (42)\end{matrix}$

[0149] When n_(s)=0, Eq. (42) reduces to Eq. (21) with $\begin{matrix}{R_{0} = \sqrt{\left( \frac{{x\quad l_{s}} + {y\quad m_{s}}}{\overset{\_}{\rho}} \right)^{2} - {\frac{a^{2}}{4}\left( {{\overset{\_}{\rho}}^{2} - 1} \right)}}} & (43)\end{matrix}$

[0150] For small values of a, Eqs. (42) and (43) reduce to Eqs. (20) and(23), respectively. Elimination of the first-order dependence on a bymoving both sources, however, makes this approximation more accuratethan for a single moving source.

[0151] For opposing motion of two sources, the expression for themodulation rate given in Eq. (25) becomes: $\begin{matrix}\begin{matrix}{\rho = {{\frac{1}{2}\frac{{x\quad l_{s}} + {y\quad m_{s}} + {z\quad n_{s}} - \frac{a}{2}}{\sqrt{\left( {x - {\frac{a}{2}l_{s}}} \right)^{2} + \left( {y - {\frac{a}{2}m_{s}}} \right)^{2} + \left( {z - {\frac{a}{2}n_{s}}} \right)^{2}}}} +}} \\{{\frac{1}{2}\frac{{x\quad l_{s}} + {y\quad m_{s}} + {z\quad n_{s}} + \frac{a}{2}}{\sqrt{\left( {x + {\frac{a}{2}l_{s}}} \right)^{2} + \left( {y + {\frac{a}{2}m_{s}}} \right)^{2} + \left( {z + {\frac{a}{2}n_{s}}} \right)^{2}}}}}\end{matrix} & (44)\end{matrix}$

[0152] Using a small a approximation that is valid up to and includingthird order of a, Eq. (44) becomes: $\begin{matrix}{\rho \approx {{\cos \quad \Psi} - {\frac{3}{8}\quad \cos \quad {\Psi sin}^{2}\Psi \frac{a^{2}}{R_{0}^{2}}}}} & (45)\end{matrix}$

[0153] In comparison with Eq. (27), the absence of the linear term inEq. (45) results in an average oscillation rate ρ that remains moreconstant during a scan. The corresponding modulation nonuniformity χpreviously defined in Eq. (37) can now be expressed as $\begin{matrix}{x \approx {{- \frac{3}{8}}\sin^{2}\Psi \frac{a^{2}}{R_{0}^{2}}}} & (46)\end{matrix}$

[0154] Eq. (46) yields a much smaller value for χ than Eq. (38) becauseof the second-order dependence on the ratio a/R₀ and because of theabsence of cos ψ in the denominator. One of the advantages of movingboth source points is that the nonuniformity remains small for theoptimal range-resolution situation where ψ=90°.

[0155] The results for range uncertainty Δz previously given for motionof a single source are based on the first term in the small-aapproximations of N and ρ. Because the first terms in theseapproximations are identical for motion of two sources, the previouslydescribed results are also valid for the motion of two sources.

[0156] Referring to FIG. 10, another embodiment of the present inventionincludes two oppositely moveable sources P₁ and P₂. A beam 44 from alaser source 40 is split into a transmitted beam 46 and a reflected beam50 by beam splitter 48. The transmitted beam 46 is reflected from amirror 94 to a lens 58. Similarly, the reflected beam 50 is reflectedfrom a mirror 96 to a lens 52. A right angle prism 92 with mirroredsurfaces 91 and 93 is used to redirect the beams 46 and 50 from thelenses 58 and 52, respectively. The beams 46 and 50 converge at pointsP₁ and P₂, respectively, and continue as divergent beams 82 and 86,respectively. Phase shifting can be accomplished by changing the opticalpath length difference between the beam paths followed by the separatedbeams 46 and 50. This can be achieved, for example, by inducingout-of-plane translations of at least one of the elements 48, 94, or 96with a piezoelectric transducer (not shown). Alternately, aphase-shifting device (not shown) may be inserted in one of the beampaths 46 or 50. An example of such a device is a rotating glass diskthat has been coated such that its optical thickness varies in discretesteps with rotation angle. Prism 92 is translatable along an axis 99 toaffect a symmetric motion of the sources P₁ and P₂. Alternatively, theprism 92 can remain fixed while the laser 40, beamsplitter 48, mirrors94 and 96 and lenses 52 and 58 are translated as one group along theaxis 99 in order to cause a symmetric translation of the sources P₁ andP₂. Changing the separation of the sources P₁ and P₂ can also beaccomplished using an angular modulation device (not shown) positionedin the beam 44 between the laser 40 and beam splitter 48 which causes achange in the beam angle. Examples of angular modulation devices aregalvanometer mirrors and acousto-optic modulators.

[0157] In another embodiment (not shown), the sources P₁ and P₂ arevirtual sources. That is, the sources P₁ and P₂ are not small sources oflight or regions where the beams 46 and 50 pass through focus. Instead,diverging beams 82 and 86 are generated using optical components whichcause the beams 46 and 50 to diverge (i.e. negative lenses). Theresulting illumination at the object can be indistinguishable from otherembodiments using real sources P₁ and P₂.

[0158]FIG. 11 shows yet another configuration for generating oppositelymoving sources P₁ and P₂. The beam 44 from a laser source 40 is splitinto a transmitted beam 46 and a reflected beam 50 by beam splitter cube48. The transmitted beam 46 is reflected from a curved mirror 95 andfrom a mirrored surface 91 of a right angle prism 92. Similarly, thereflected beam 50 is reflected from a curved mirror 97 and from amirrored surface 93 of the right angle prism 92. The beam splitter cube48 can be modified (e.g., removal of glass outside the beam path) topermit close mounting of optical components. The curved mirrors 95,97perform the functions of the flat mirrors 94,96 and lenses 58,52 in FIG.10. The curved mirrors 95,97 can be off-axis parabolic mirror segmentswhich yield small focal spots at P₁ and P₂. Alternatively, the curvedmirrors 95,97 can be spherical elements. Aberrations caused by sphericalelements will not affect the fringe contrast, but only the fringeposition. These aberrations can be incorporated into the analysis. Phaseshifting can be accomplished by translating beam splitter 48 or byplacing a phase-shifting device (not shown) in one of the beam paths 46or 50 as discussed previously.

[0159] Referring again for a moment to FIG. 1, the derivation in theprior description is based on a telecentric imaging configuration. Thelateral position of the image point P_(i) in the focal plane is relatedto the lateral position of the object point P₀ by the magnification ofthe lens 24 and is independent of the separation between the lens 24 andthe object 10. Defocusing blurs the image P_(i) but does not affect itsapparent lateral position at the detector 22. Consequently, the lateralposition of an object point P₀ can be estimated by the position of itsimage point P_(i), regardless of the distance. Unfortunately,telecentric imagers 24 may be impractical for large objects because thelens 24 must be at least as large in diameter as the largest dimensionof the measured object 10. Thus most lenses are not telecentric.

[0160] Referring now to FIG. 12, to avoid this problem, a more generalapproach for determining the (x,y,z) coordinate of the point P₀ is toassume that the position of the image point P_(i) at the detector 22 isa measure of the angle α_(x) between the object point P₀ and the opticalaxis 98 of the focusing element 24. The coordinate can be derived fromthe fringe number N and the location of the image point at the detector22. The following equations are exact (do not assume small a). Thelateral coordinates are given by:

x=x _(l)+(z−z _(l))tan α_(x)  (47)

[0161] and

y=y _(l)+(z−z _(l))tan α_(y)  (48)

[0162] where α_(x) and α_(y) are the components of angle α as measuredin the x-z and y-z planes, respectively.

[0163] The z coordinate is given by: $\begin{matrix}{z = {z_{m} + \frac{\begin{matrix}{{{\overset{\_}{\rho}}^{2}B} - {{B_{s}C_{s}} \pm \overset{\_}{\rho}}} \\\sqrt{{B_{s}^{2}C} - {2B\quad B_{s}C_{s}} + {A\quad C_{s}^{2}} + {{\overset{\_}{\rho}}^{2}\left\lbrack {B^{2} - {A\quad C} + {\frac{a^{2}}{4}\left( {{{\overset{\_}{\rho}}^{2}A} - B_{s}^{2}} \right)}} \right\rbrack}}\end{matrix}}{B_{s}^{2} - {{\overset{\_}{\rho}}^{2}A}}}} & (49)\end{matrix}$

[0164] where

A=1+tan²α_(x)+tan²α_(y)  (50)

B=x _(p)tan α_(x) +y _(p)tan α_(y)  (51)

[0165] $\begin{matrix}{C = {\frac{a^{2}}{4} + x_{p}^{2} + y_{p}^{2}}} & (52)\end{matrix}$

 B _(s) =l _(s)tan α_(x) +m _(s)tan α_(y) +n _(s)  (53)

C _(s) =l _(s) x _(p) +m _(s) y _(p)  (54)

x _(p) =x _(l) −x _(m) −z _(l)tan α_(x)  (55)

[0166] and

y _(p) =y _(l) −y _(m) −z _(l)tan α_(y).  (56)

[0167] The coordinate (x_(m), y_(m), z_(m)) represents the mid-positionP_(m) between points P₁ and P₂ and allows for a generalized solutionwith (x_(m), y_(m), z_(m)) located at other than the origin of thecoordinate system. For increased versatility, P_(m) and other parametersmay vary with time.

[0168] The generalized determination of object coordinates describedabove can be implemented in software on a computer which receives datafrom a processor unit in communication with a plurality of detectors 22(e.g., a CCD array). Alternatively, the algorithm can be implementeddirectly in the processor unit 28.

[0169] The use of Eqs. (47)-(49) to determine the (x, y, z) coordinatesof a point P₀ requires knowledge of the angles α_(x) and α_(y) inaddition to the normalized fringe number {overscore (ρ)} as defined byEq. (19). In the example above, these angles are determined by thelocation of the image point P_(i) in the focal plane 22. In order todetermine α_(x) and α_(y) accurately, it is necessary to correct for anyimage distortion that may occur in the lens 24. Distortion can becorrected, for example, by creating a distortion function that mapsangles α_(x) and α_(y) onto image points P_(i). The distortion map mayvary for different lenses and may even vary slightly for the same lens24 in different imaging configurations.

[0170] In another embodiment of the present invention, the inconvenienceof characterizing lens distortion is avoided by using additional sourceheads to determine the remaining two direction components necessary fortriangulation. For example, as depicted in FIG. 12a, an additionalsource head is placed at the position P₁ and the lens 24 which waspreviously at P₁ (see FIG. 12) is placed at any convenient position forviewing the region of intereston object 10. If the sources P_(1x) andP_(2x) in the second source head are oriented parallel to the x axis,then a measurement of the fringe number N_(x) at point P₀ for thissource head is equivalent to measuring the angle ψ_(x) between the linesdefined by points P_(1x) and P₁, and points P₁ and P₀ (see Eq. (41)).The angle α_(x) required for Eqs. (47)-(49) is then determined fromψ_(x) by the relationship α_(x)=π/2−ψ_(x). Likewise, (not shown in FIG.12a) the angle α_(y) can be determined by using a source head atposition P₁ with sources P_(1y) and P_(2y) oriented parallel to the yaxis. The fringe number N_(y) for this orientation of a source headprovides a measurement of the angle α_(y) through α_(y)=π/2−ψ_(y). Thesource heads providing the angles α_(x) and α_(y) can, for example, bethe same source head rotated 90° about the z axis or different sourceheads made to appear at the same location through use of a beamsplitter.

[0171] When triangulating using multiple source heads, it is notnecessary to know the location of lens 24 and detector 22 (or thelocation components of detectors 23 placed on the object 10). Thepurpose of the imaging system 22 and 24 (or detectors 23) is to observethe illumination intensity at P₀. Each pixel in the detector array 22represents an observation point P₀. Consequently, an (x, y, z)coordinate may be determined for each pixel. Various approaches may beused to separate the measurements of N corresponding to different sourceheads. For example, the measurements may be time multiplexed byilluminating sequentially with different source heads or wavelengthmultiplexed by simultaneously illuminating with multiple source headsoperating at different wavelengths. Measurements can be furtherdistinguished through the use of polarization diversity.

[0172] To further elucidate the process of triangulation using multiplesource heads, reference is made again to Eq. (41). For typicalapplications, a is small compared with R₀ and Eq. (41) can be simplifiedto. $\begin{matrix}{N = {{\frac{a}{\lambda}\cos \quad \Psi} = {\frac{a\quad v}{c}\cos \quad \Psi}}} & (57)\end{matrix}$

[0173] The dependence on source spacing a and wavelength λ, or frequencyν, is eliminated from Eq. (57) by writing N in terms of the normalizedfringe number {overscore (ρ)} using Eq. (19):

{overscore (ρ)}=cos Ψ  (58)

[0174] Thus, the normalized fringe number corresponding to a particularsource head is a direct measure of a component ψ of direction from themid-point P_(m) of the source head to the observed point P₀. Thethree-dimensional coordinates of P₀ can be determined throughtriangulation given measurements from three or more source heads

[0175] Suppose that source heads are located at the three positionsP_(m1), P_(m2), and P_(m3), and the orientations of the source pairscorresponding to each of these locations are given by the directioncosines (l_(s1), m_(s1), n_(s1)), (l_(s2), m_(s2), n_(s2)), and (l_(s3),m_(s3), n_(s3)). In terms of Cartesian coordinates and directioncosines, Eq. (58) takes the form $\begin{matrix}{{\overset{\_}{\rho}}_{i} = \frac{{l_{s_{i}}\left( {x - x_{m_{i}}} \right)} + {m_{s_{i}}\left( {y - y_{m_{i}}} \right)} + {n_{s_{i}}\left( {z - z_{m_{i}}} \right)}}{\sqrt{\left( {x - x_{m_{i}}} \right)^{2} + \left( {y - y_{m_{i}}} \right)^{2} + \left( {z - z_{m_{i}}} \right)^{2}}}} & (59)\end{matrix}$

[0176] where the subscript i distinguishes between source heads.Determination of P₀ coordinates (x, y, z) is achieved by measuring thenormalized fringe numbers {overscore (ρ)}₁, {overscore (ρ)}₂ and,{overscore (ρ)}₃ for each source head and solving the set of threesimultaneous equations represented by Eq. (59). The formalism of Eq.(59) is convenient because it handles generalized source-head placementand orientation in a compact form.

[0177] For those cases where the object point P₀ corresponding to aparticular pixel 22 is not illuminated by three or more source heads,the missing direction information for that pixel 22 can be filled in byinterpolating between the directions calculated for surrounding pixels22. Furthermore, direction information obtained from multiple sourceheads can be combined with direction information obtained from pixellocation to improve measurement quality.

[0178] The fact that multiple source heads makes it possible todetermine P₀ without knowing receiver parameters (such as position,orientation, magnification, and distortion) makes it a simple matter tocombine information from multiple imagers 22 and 24 (only one shown forclarity). This fact follows because the point clouds produced for eachcamera are already in the same coordinate system and do not need to beregistered by going through a calibration procedure. Multiple imagers 22and 24 can be positioned to view specific regions of interest at anydesired view angle and lateral resolution. Thus, one imager 22 and 24can give an overview of the entire object 10, and other imagers 22 and24 can inspect regions of interest at high resolution.

[0179] In one of the above major classes of embodiments, the fringenumber N at a point P₀ on the surface of the object 10 is determined bycounting intensity-oscillations caused by motion of one or both of thesources P₁ and P₂. In its most rudimentary form, cycle counting requiressampling the intensity at least twice per cycle in order to keep trackof the count. Also, to minimize cost, it may be desirable to countcycles using standard off-the-shelf components such as a charge-coupleddevice (CCD) connected to a frame grabber. Because the number of countsincreases the farther a point P₀ in the image frame is from the N=0position, it may be necessary to acquire and process hundreds of imageframes using this approach.

[0180] The need for acquiring many image frames to determine N can beovercome by using a more sophisticated counting technique. Thistechnique, denoted as progressive fringe division, takes advantage ofthe periodic and predictable nature of the intensity modulation. Thus, Ncan be determined by sampling the intensity modulation at a few discretevalues of the source spacing a.

[0181] As depicted in FIG. 13, progressive fringe division consists ofvarying the fringe size from an initial coarse spacing (Col. 1) to afinal fine spacing (Col. 3) in discrete steps. At each step, a wrappedphase map, or cycle map, (Row 4) is generated from phase-shifted fringepatterns (Rows 1-3). Each successive wrapped phase map is unwrappedbased on the previous unwrapped phase map in a bootstrapping operation.The ratio of fringe spacings between steps is typically of the order of10 or more, allowing a very dense fringe pattern to be unwrapped using asmall number of data frames. Calculating the position coordinates from adense fringe pattern improves precision. One of the advantages ofprogressive fringe division is that the algorithm correctly assigns thefringe order number to each fringe, regardless of the complexity of thesurface of object 10. For example, object 10 can contain surfacediscontinuities, large cliffs, and holes, or consist of a number ofdisjoint objects. Because progressive fringe division does not rely onsurface continuity, it can be used to locate the position of a number ofunconnected discrete points that are distributed in space.

[0182] A further explanation of progressive fringe division and itsembodiment is aided by considering three facts. (For simplicity,opposing motion of the sources P₁ and P₂ is assumed in this discussion,although the following results can be formulated for other situations,including motion of only one source P₁ and stationary frequency-tunedsources.) First, the number of intensity oscillations N that occur at apoint P₀ as the source spacing increases from an initial value of zeroto the final value a is equal to the fringe number N at P₀ for the finalvalue a. For example, if 10 were a simple object such as a plane, onecould count N fringes on the surface of the object between the N=0position (occurring at R₁=R₂) and the point P₀. The value of N includespartial cycles or fringes and thus is not necessarily a whole number.

[0183] This first fact can be further explained by noting that N canalso be interpreted as the number of fringes that move past the point P₀to be collected inside the region between P₀ and N=0 as the sourcespacing a increases from zero to its final value. In other words, whena=0 there are no fringes within this region, and the number of fringescontained inside this region increases by one every time a fringe movesacross P₀. This correspondence between fringe number N and oscillationcycles is key to the robust three-dimensional imaging technique andmakes it possible to determine N at an arbitrary point P₀ without makingassumptions about the continuity of the surface surrounding the pointP₀. Consequently, discontinuities in the surface such as holes andcliffs (i.e., edges) are handled without ambiguity.

[0184] A second fact is that N is directly proportional to theseparation a according to Eq. 57. Consequently, it is not necessary tocomplete an entire scan with a running from zero to its final value todetermine N(a). The value of N for a spacing a₂ can be estimated fromits value at a spacing a₁ using the relationship

N _(estimate)(a ₂)=(a ₂ /a ₁)N(a ₁)  (60)

[0185] Likewise,

N _(estimate)(a ₂ −a ₁)=N(a ₂)−N(a ₁)  (61)

[0186] which states that knowledge of the value of N at two sourcespacings a₁ and a₂ can be used to estimate its value at the smallerdifference spacing a₂−a₁.

[0187] A third fact is that a phase-shifting measurement can be made atany intermediate value of the source spacing a to provide ahigh-resolution map of the partial-cycle or “wrapped” component of thefringe number N at each measurement point P₀ within the field of view.In doing so, the wrapped component is calculated from the phase by

N _(wrapped)=ψ/(2π)  (62)

[0188] and the phase is determined, for example, by Eq. (6). Thus, if φranges between ±π, N_(wrapped) ranges between ±0.5. Although aphase-shifting measurement can determine N_(wrapped) to high precision,it leaves the integer-valued offset for N undetermined.

[0189] Because finer fringes represent a smaller variation in {overscore(ρ)} per fringe, they can provide higher precision in the determinationof {overscore (ρ)} (assuming successful unwrapping). For example, finerfringes reduce the effect that phase-step errors have on the measurementof the surface profile. Finer fringes, however, also make it moredifficult to perform the unwrapping because of the increased fringedensity. The advantage of progressive fringe division is that it allowsvery fine fringes to be unwrapped correctly to achieve the highestpossible resolution.

[0190] To implement progressive fringe division, wrapped cycle maps (asdepicted in Row 4 of FIG. 13) are produced for the imaged surface ateach of a number of discrete source separations a. It is oftensufficient to produce these cycle maps for three or fewer fringe sizes:coarse, medium, and fine. Successive unwrapped cycle maps are used in abootstrapping operation to unwrap the next cycle map without introducingerrors in the integer offset. The unwrapped cycle map corresponding tothe finest fringe pattern provides the highest-resolution measurement.

[0191]FIG. 14 depicts an illustrative series of steps used to executeprogressive fringe division. The procedure begins (step 150) by settingthe source spacing at an initial value a₁ (step 154). This value isnormally the smallest in a series of source spacings and is chosen so asto produce a coarse fringe pattern on the object 10. A wrapped cycle mapis then produced (step 158) by performing a phase-stepping measurement,as illustrated by Eq. (6). Step 158 is completed by converting phase tocycles by Eq. (62).

[0192] Independently of step 158, (step 162) an initial unwrappedestimate of N for the coarse fringe pattern corresponding to a₁ isobtained. Step 162 may be performed simultaneously with step 158, beforestep 158, or after step 158. However, both step 158 and 162 must beperformed in order to continue to the next step. There are manyapproaches for producing this initial estimate. For example, a₁ can bemade to be so small that the entire object falls within one fringe(e.g., −0.5<N≦0.5) this making unwrapping unnecessary. Alternately, acan be large enough to produce a small number of fringes across theobject 10 so that a simple model (such as a linear ramp) for thevariation of N over the field of view will suffice as an estimate for Nas long as this estimate is accurate to within one-half of a cycle atall measurement points to be unwrapped. Another example of a method forobtaining the initial estimate is to assume a generic shape or anexpected shape and to calculate N based on Eq. (40). Other examples areto use the result of a previous measurement on the same or a similarobject 10, or to use cycle counting to partition the field of view intocycles. The number of frames necessary for cycle counting is small herebecause of the small number of fringes corresponding to a,.

[0193] The purpose of the next step (step 166) is to unwrap the wrappedcycle map obtained from the measurement in step 158. If the unwrappedestimate from step 162 is accurate to within one-half of a cycle,unwrapping is achieved by use of the expression

N(a)=N _(wrapped)(a)+Round[N _(estimate)(a)−N _(wrapped)(a)]  (63)

[0194] Note that the second of the two terms on the right-hand side ofEq. (63) is simply the integer offset required for unwrapping.Subtracting the wrapped measurement from the unwrapped estimate in thisterm produces a stair-step-like function whose value is approximatelyequal to the integer offset. Rounding to the nearest integer makes theexpression exact, as long as the error falls within the one-half-cyclelimits. Otherwise Eq. (63) introduces an integer offset error in N thatmay vary across the field of view.

[0195] The result of step 166 is an improved estimate of N for thesmallest source spacing a₁. In order to further improve the quality ofthe measurement, a new source spacing a₂ is set in step 170 thatproduces a finer fringe pattern on the object 10. A new phase-steppingmeasurement is then completed in step 174 to yield a new wrapped cyclemap corresponding to the finer fringe pattern. The unwrapping of thismeasurement requires a new unwrapped estimate corresponding to a₂. Thisestimate is obtained in step 178 by using Eq. (60) to scale the previousunwrapped estimate (obtained for the source spacing a₁ from step 166)into the appropriate range. Once scaling has taken place, the newwrapped cycle map from step 174 is unwrapped in step 182 by substitutingit and the scaled estimate from step 178 into Eq. (63).

[0196] The result of the first pass through steps 170 through 182 is arefined estimate of N that corresponds to the larger source spacing a₂.Steps 170 through 182 can now be repeated with successively finerfringes (larger source spacings) until optimal {overscore (ρ)}resolution is achieved. (Each time through the loop the source-spacingsubscript is incremented by one.) Normally, optimal resolution isachieved in one to three iterations. Typically, the ratio between thenew and old source spacings is of the order of ten or more. The maximumvalue this ratio can take is determined in practice by requiring thatthe error between the estimated and true value of N remains under theone-half cycle limit.

[0197] The loop represented by steps 170 through 182 in FIG. 14 isexited once the desired number of iterations has been completed. In step186, N is converted to {overscore (ρ)} through Eq. (19). If theobjective of the measurement is to determine full three-dimensionalcoordinates, a triangulation takes place using, for example, Eqs.(47)-(49) or Eq. (59), to obtain coordinates for each measurement point(step 190). Step 194 represents the end of progressive fringe division.It should be appreciated that FIG. 14 is only an illustration of theprocedure to be followed for progressive fringe division, and that thecomponent steps can be executed in a number of different orders. Forexample, it may be desirable to collect all data before beginning thecalculations.

[0198] The ability to produce fringes of widely varying size for usewith progressive fringe division requires the source spacing to vary bythe same ratio as the fringe spacing. A technique is now described forsynthesizing a fringe pattern of a desired spacing from two othermeasurements. One advantage of this approach is that the twomeasurements used to synthesize the fringe pattern may be more readilyobtainable.

[0199] Fringe synthesis is based on the following modification of Eq.(61):

N _(wrapped)(a ₂ −a ₁)=[N _(wrapped)(a ₂)−N _(wrapped)(a₁)]_(wrapped)  (64)

[0200] This result follows from wrapping both sides of Eq. (61) andobserving that wrapping the difference N(a₂)−N(a₁) on the right-handside of Eq. (61) is equivalent to wrapping the differenceN_(wrapped)(a₂)−N_(wrapped)(a₁) of individually wrapped components. Inother words the difference between the wrapped quantities within thesquare brackets in Eq. (64) ranges between ±1 and this difference mustbe wrapped to lie within the correct range of ±0.5.

[0201] Equation (64) provides a means for synthesizing phase-steppingmeasurements of wrapped N at a source spacing equal to the differencea₂−a₁ from individual phase-stepping measurements obtained at sourcespacings a₁ and a₂. This equation has a remarkable property for smallvalues of a₂−a₁. Although the individual measurements from which thesynthesized measurement is composed may be highly irregular and containnumerous discontinuities, the left-hand side of Eq. (64) can be smoothover the field of view, having only the number of wrappingdiscontinuities that correspond to the difference a₂−a₁. Thus fringesynthesis is an effective technique for producing an initial phase mapfor beginning progressive fringe division. Fringe synthesis can also beused, to synthesize any of the remaining unwrapped phase maps in thesequence to be used for progressive fringe division. If {overscore (ρ)}is to be calculated from a synthesized cycle map, Eq. (19) is modifiedto read $\begin{matrix}{\overset{\_}{p} = \frac{\lambda \quad {N\left( {\Delta \quad a} \right)}}{\Delta \quad a}} & (65)\end{matrix}$

[0202] where Δa represents the spacing difference between the twomeasurements.

[0203]FIG. 14a illustrates one way that fringe synthesis can beincorporated into the progressive-fringe-division flow chart in FIG. 14.Step 154′ is a modification of step 154 to include the selection of abase separation a₀ in addition to the separation a₁. Step 158′ is amodification of step 158 to measure wrapped cycle maps at bothseparation values a₀ and a₁. Steps 160′ (inserted after Step 158) and176′ (inserted after step 174) are additional steps that make use of Eq.(64) to synthesize the wrapped cycle map corresponding to thedifferences a_(n)−a₀. Step 186′ is a modification of step 186 thatallows {overscore (ρ)} to be calculated from a synthesized cycle mapusing Eq. (65).

[0204] One of the advantages of fringe synthesis is that it may reducethe demands on a system for producing motion between sources P₁ and P₂.For example, a small incremental change from the widest sourceseparation can produce fringes corresponding to a very small sourceseparation. This approach not only reduces the travel requirement, butalso overcomes some potential limitations of the source heads describedin FIGS. 10 and 11. For example, with these source heads it is difficultto produce extremely small source separations, and fringes may becomeunstable due to vibrations when attempting to do so. Another advantageof fringe synthesis is that it may improve measurement repeatability andaccuracy due to the fact that it is normally easier to repeat a constantdifference between two source separations than it is to maintain anabsolute source-spacing calibration.

[0205] Yet another advantage of fringe synthesis is that it minimizeserrors of motion due to source-head misalignment. These motion errorsmay occur, for example, if the focal spots P₁ and P₂ in FIGS. 10 and 11do not overlap for the nominal a=0 position. There are two types ofmisalignment to be considered. First, suppose that one of the focalspots P₁ is displaced out of the plane of the diagram with respect tothe other P₂ by an amount d. Even though these two focal spots P₁ and P₂each follow a straight-line trajectory and these trajectories can beparallel, the two spots miss by the distance d at their closest approach(i.e., the nominal a=0 position). As the spots P₁ and P₂ pass at closestapproach, the orientation of the fringe pattern on the object 10 flipsby 90° with respect to the nominal, or desired, orientation.Furthermore, the fringe spacing is never larger than that correspondingto a source separation d. (Alignment of the source head is facilitatedby adjusting the displacement d until the fringes stay properly orientednear a=0.)

[0206] In the second type of misalignment, one of the focal spots P₁ isdisplaced along the direction of motion 99 with respect to the otherfocal spot P₂. This type of misalignment is caused by a sidewaysdisplacement of prism 92 (i.e., the displacement is perpendicular toaxis 99 and is in the plane of FIGS. 10 and 11). At closest approach,one source P₁ lies directly behind the other source P₂, producing acircularly concentric fringe pattern on the object. As a increases, thefringes exhibit less curvature and approach their normal appearance.(Minimization of this source of error during source-head alignment isfacilitated by adjusting the prism 92 sideways for small a to minimizefringe curvature.)

[0207] The difficulty that motion errors create for progressive fringedivision is due to the resulting phase errors which are magnified whenEq. (60) is used to produce a scaled estimate of N. Motion errors limitthe magnitude of the a ratio that can be used without introducinghalf-cycle errors in the estimate of N. Fringe synthesis overcomes thislimitation because motion-induced phase errors are common to bothmeasurements and cancel in the subtraction. Thus, even though themeasurements may produce fringes that are distorted from the desiredshape, the synthesized fringes are normal.

[0208] Cancellation of phase errors between the two beams with fringesynthesis has the additional advantage of automatically compensating fora global phase-offset error between the two beams. These phase-offseterrors are introduced, for example, by a path-length difference S₀between the two separated beams that is not an integer multiple of thewavelength λ. Phase offset errors cause the N=0 position to occur at afringe phase of other than 0° (i.e., at other than an intensitymaximum). These phase errors automatically cancel when performing fringesynthesis, making it unnecessary to calibrate the phase of the fringepattern. Alternatively, phase calibration can be achieved by determiningthe precise N=0 position by fringe synthesis and adjusting thephase-shifting element for constructive interference at that point.

[0209] The cancellation of phase errors for synthesized fringes isimportant for the additional reason that it tends to cancel outwavefront errors in the illumination patterns falling on object 10 fromthe individual sources P₁ and P₂. Wavefront errors arise from the use ofimperfect or extended sources and produce perturbations or ripples inthe fringe pattern. These perturbations translate into small heighterrors in the measurement. Cancellation of wavefront errors occurs infringe synthesis because these errors are largely independent of thedistance between sources. Therefore, the error is common to themeasurements taken at each source spacing and cancels due to thesubtraction in Eq. (64). Fringe synthesis is an effective means forreducing errors due to illumination defects and can serve to decreasesystem cost by reducing requirements on the quality of the source-headoptics.

[0210] Fringe synthesis allows progressive fringe division to be carriedout with a reduced range of motion of the source points thus allowing asimpler source head design. Recall that in general, a source headprovides two types of fringe modulation—a variation in fringe size andsideways motion of the fringe pattern arising from phase shifting. For apure phase shift, the phase is changed without altering the position ofthe source. Another way of changing phase, however, is to move onesource P₁ towards or away from the object relative to the other sourceP₂. Although doing so changes the location of the source P₁, this changeis very small (less than a wavelength), and the resulting change inorientation of the source pair P₁ and P₂ is small if the sources aresufficiently far apart. Because the source separation can remain largefor fringe synthesis, both types of modulation can be achieved throughsmall motions of one or both source points P₁ and P₂. This reducedmotion requirement allows simple source heads to be designed. Forexample, a source head might consist of the fiber-optic-splitterarrangement depicted in FIG. 2b. Phase shifting and variation in fringesize are accomplished by moving the end of one of the fibers inorthogonal directions.

[0211] Fringe synthesis has an important additional advantage ofenabling progressive fringe division to be used for measurements basedon laser-frequency tuning. Without fringe synthesis, application ofprogressive fringe division to the measurements would require anextremely high fractional tuning bandwidth in order to achieve the largevariations in fringe size that are necessary for progressive fringedivision. Fringe synthesis makes it possible to produce fringe-spacingvariations that lie far outside the conventional tuning range. Thetuning approach can provide measurements with very high repeatabilityand precision because of the fact that source motion is eliminated andfrequency can be measured and controlled to high precision.

[0212] Application of progressive fringe division and fringe synthesiswith frequency-tuning is explained with respect to Eq. (57). N has thesame functional dependence on laser frequency ν as it does on sourcespacing a. (It is assumed that the path-length difference represented byS₀ in Eq. (1) is zero, otherwise this offset must be accounted for inthe equations.) Therefore, Eqs. (60), (63), and (64), which form thebasis for progressive fringe division and fringe synthesis, also applyto frequency tuning if N is written as a function of frequency ν. Theexpressions that govern frequency tuning are then

N _(estimate)(ν₂)=(ν₂/ν₁)N(ν₁)  (66)

N _(wrapped)(ν₂−ν₁)=[N _(wrapped)(ν₂)−N _(wrapped)(ν₁)]_(wrapped)  (67)

[0213] and

N(ν)=N _(wrapped)(ν)+Round[N _(estimate)(ν)−N _(wrapped)(ν)]  (68)

[0214] Equations (19) and (65) also take the modified forms$\begin{matrix}{\overset{\_}{\rho} = {\frac{c}{a}\frac{N(v)}{v}}} & (69) \\{{and}{\overset{\_}{p} = {\frac{c}{a}\frac{\quad {N\left( {\Delta \quad v} \right)}}{\Delta \quad v}}}} & (70)\end{matrix}$

[0215] respectively, where Δν represents the difference frequency if Nhas been synthesized from two measurements.

[0216]FIG. 15 illustrates the steps to be followed for execution ofprogressive fringe division using fringe synthesis and frequency tuning.(Note that FIG. 15 also applies to progressive fringe division usingfringe synthesis and source motion if ν is replaced by a.) In thisillustration, all data is collected at the beginning of the process. Theprocedure begins (step 200) by selecting the laser frequencies ν₀, ν₁, .. . ν_(n) (step 204) to be used in the measurement of wrapped cycle mapsN_(wrapped)(ν₀), N_(wrapped)(ν₁), . . . N_(wrapped)(ν_(n)) (step 208).Equation (67) is then used to synthesize wrapped cycle maps for thedifference frequencies ν₁−ν₀, ν₂−ν₀, . . . ν_(n)ν₀ (step 212). Anestimate of the unwrapped cycle map is then obtained (step 216) for thefirst difference ν₁−ν₀ using one of many possible approaches (e.g., step162 of FIG. 14). A preferred approach is to begin with a differenceν₁−ν₀ that is small enough so that N(ν₁−ν₀) lies within the ±0.5-cyclelimit. In step 220, Eq. (68) is used to calculate the unwrapped cyclemap for the next larger difference ν_(i)−ν₀ in the series. Thisunwrapped cycle map is scaled using Eq. (66) in step 224 to be fed backinto step 220 to unwrap the next synthesized cycle map in the series.The loop is exited after the cycle map corresponding to the finalfrequency difference ν_(n)−ν₀ has been unwrapped. In step 228, Eq. (70)is used to convert the final unwrapped cycle map N to fringe number{overscore (ρ)}. Equation (69) is used if the final cycle map N was notsynthesized. In step 232 directional information corresponding to{overscore (ρ)} is transformed into three-dimensional coordinates foreach point of interest P₀ using, for example, Eqs. (47)-(49) or Eq.(59).

[0217] It should be appreciated that progressive fringe division and thecombination of progressive fringe division with fringe synthesis arepowerful general techniques for resolving counting ambiguities andrefining counting estimates and that these techniques have applicationsbeyond those described above. In particular, these techniques are notlimited to the above methods and apparatus for acquiring data or even tothe analysis of fringes.

[0218] With reference to FIG. 16, a variation is now described thatutilizes the progressive-fringe-division and fringe-synthesis techniqueson unresolved fringes, or image speckle. In this figure, laser beam 44is incident on beam splitter 48 which splits beam 44 into beams 46 and50. Beam 50 reflects off beam splitter 48 and illuminates a region ofinterest on object 10. Beam 46 passes through beam splitter 48 andilluminates reference surface 102. Light reflected off of object 10 andreference surface 102 is recombined by beam splitter 48 and passesthrough lens 24 which produces a speckled image on detector array 22.Phase shifting is accomplished by inserting a phase-shifting element(not shown) in one of the separated beam paths. The frequency of laserbeam 44 is variable or can be switched between two or more discretevalues. Path length differences due to a difference in height z betweenobject 10 and virtual image 102′ of reference surface 102 produce amodulation of speckle intensity that changes with laser frequency. Thephase of the modulation at a particular laser frequency can bedetermined accurately through phase-shifting measurements.

[0219] There are no fringes produced on the surface of object 10 in FIG.16 because the object 10 is illuminated by only one laser beam 50.Interference occurs at the detector 22 because of the coherentsuperposition of light from the two beams 46 and 50. In accordance withEqs. (1)-(5), varying the laser frequency causes the individual specklelobes in the image of the object 10 to oscillate in intensity at a ratethat is proportional to the path length difference s. For simplicity,assume that the reference surface 102 is flat and lies in the x-y plane.Let z represent the height above the virtual reference surface 102′ ofthe point P₀ on object 10 to be measured. Nominally, s=2z (due toround-trip propagation) and z can be calculated from N by$\begin{matrix}{z = {\frac{c}{2}\frac{N\left( {v_{n} - v_{0}} \right)}{v_{n} - v_{0}}}} & (71)\end{matrix}$

[0220] if N is obtained through fringe synthesis, and by $\begin{matrix}{z = {\frac{c}{2}\frac{N\left( v_{n} \right)}{v_{n}}}} & (72)\end{matrix}$

[0221] otherwise.

[0222] The procedure for producing three-dimensional images using FIG.16 is the same as that outlined in FIG. 15, with the exception that instep 232 , Eq. (71), or Eq. (72), is used to convert N to z. Theapproach depicted in FIG. 16 does not rely upon triangulation.Consequently, it has the advantage that shadowing effects between sourceP₁ and P₂ and receiver 22 and 24 can be eliminated. This approach isparticularly useful for shorter-range applications, includingthree-dimensional microscopy, where the separated path lengths remainsmall.

[0223] The above embodiments are based on interference using coherentillumination. Those embodiments that use a lens 24 to form an image ofthe object 10 on a detector 22 have the potential disadvantage that theresulting image is speckled and that speckle can limit range resolution.It should be noted that detectors 23 placed directly on the surface ofthe object do not suffer from this limitation. Speckle occurs forimaging with coherent illumination because the finite point-spreadfunction of the lens 24 allows light scattered from regions surroundingP₀ on the surface of object 10 to interfere at point P_(i) at detector22. The average speckle size at the detector plane is determined by thesize of the point-spread function of the lens. Speckle can cause ameasurement of {overscore (ρ)} to be drawn to one side or the other byscattering regions surrounding P₀ whose contributions can phase upconstructively at the image point P_(i).

[0224] A number of techniques are now presented for mitigating theeffects of speckle on a measurement. In practice, speckle effects tendto average out if many speckles fall within the area corresponding to asingle pixel of the detector array 22. One way of satisfying thiscondition is to require that the interference fringes are resolved bylens 24 and that the point-spread function of lens 24 is small enough tocause many speckles to fall on each element of detector array 22. Thisapproach works well in situations that do not require the ultimatelateral resolution. Generally, lateral resolution is traded off forspeckle averaging.

[0225] In situations requiring high lateral resolution, it can benecessary to more closely match speckle size and pixel size. In generalit is desirable to reduce the magnitude of the side lobes of thepoint-spread function of the lens (i.e., to apodize). Doing so reducesthe ability of a scattering region that would otherwise be containedwithin a strong side lobe of the point-spread function to bias themeasurement of {overscore (ρ)}. Apodization can result in a slightlydegraded lateral resolution. In some instances, it can be advantageousto trade off this lateral resolution for improved range resolution.

[0226] An additional technique for mitigating speckle effects is tominimize the variation of {overscore (ρ)} over the region of the surfaceof object 10 corresponding to an individual pixel 22. For example,increasing the pixel density while maintaining a constant ratio ofspeckles per pixel 22 decreases the change in {overscore (ρ)} from oneside of the region corresponding to the pixel 22 to the other andimproves both range resolution and lateral resolution.

[0227] For a given optical configuration and pixel density, thevariation of {overscore (ρ)} over individual pixels 22 can be minimizedby making an appropriate choice of the position and orientation of thesource head. Variation of {overscore (ρ)} is minimized, for example, ifthe surface element corresponding to a pixel 22 lies along an equiphasesurface of the three-dimensional fringe pattern. In other words, speckleeffects are minimized if the surface being measured is parallel (ornearly parallel) to a surface of constant phase for the illuminatingfringe pattern. This condition can be achieved by using grazingincidence with the vector representing the orientation of the two sourcepoints being parallel to the surface normal. Except for specializedcases, it is impossible to satisfy this condition for every point P₀ onthe surface. The condition can be approximated, however, for manyobjects of practical importance, including, for example, aerodynamicsurfaces such as auto-body and airframe panels.

[0228] Many objects have a broad range of surface slopes andorientations, making it impossible to satisfy the above condition forminimizing {overscore (ρ)} over the entire surface using a single sourcehead. In these situations, this condition can be better satisfiedthrough the use of multiple source heads that are positioned such thatone of them is responsive to each major region of the object 10, or tothose regions of greatest interest. It is assumed that some form ofmultiplexing takes place to distinguish which information comes fromeach source head. If more than one source head illuminates the sameregion, the resulting measurements can be weighted according to thelevel of speckle noise expected in each measurement for that region.Multiple source heads can also help to overcome shadowing limitations.Information from multiple source heads can be readily combined for agiven detector 22 that views a region of overlap. Registration isautomatic because the angular information corresponding to each pixel isthe same for each source head.

[0229] In some instances, it is not possible to illuminate certainregions of an object 10 in a way that satisfies the condition forminimizing the variation of {overscore (ρ)} over a pixel. An additionaltechnique for mitigating speckle effects that is not affected by thislimitation is based on speckle averaging. Speckle averaging can beachieved by making additional measurements with slightly differentparameters (e.g., variations in the optical configurations).Alternatively, the parameters can be varied during the exposure.Averaging effectively reduces speckle effects if the set of parametersbeing varied changes enough to produce different statisticalrealizations of the speckle pattern.

[0230] In one embodiment, the mid-position P_(m) between sources is theadjusted parameter. If the direction of displacement of P_(m) is out ofthe plane of FIGS. 1 and 12, then variations of object illumination willbe minimized. Variations of P_(m) are explicitly accounted for in Eqs.(47)-(56) and (59). Reduction of speckle effects can be achieved, forexample, by averaging the individual measurements of (x, y, z)coordinates for different values of P_(m).

[0231] In another embodiment, the source separation a and the laserfrequency ν vary simultaneously during the exposure time such that thefringe pattern remains stationary. The condition for the fringes toremain stationary is seen by inspection of Eq (57) to be that the ratioa/λ (or the product a ν) remains constant. To achieve stationaryfringes, the motion of the point sources P₁ and P₂ can be slaved to thetuning of the laser 40, or vice versa, by a feedback mechanism such as afringe monitor. The fringe monitor may consist of discrete detectors ora linear array of detectors that is incorporated into the source headand measures a fringe pattern that is separated from the main beam by abeam splitter.

[0232] For speckle averaging to be effective, the tuning excursion usedis large enough to cause a number of decorrelation cycles to occur inthe image speckle. Care should be taken to minimize the path-lengthoffset S₀ between the separated paths in the source head. Otherwise, thephase of the fringe pattern will vary with frequency shift Δν by theexpression $\begin{matrix}{{\Delta \quad \varphi} = {2\quad \pi \frac{\Delta \quad v\quad S_{0}}{c}}} & (73)\end{matrix}$

[0233] Alternatively, the path-length offset can intentionally be set toa nonzero value and the fringe pattern “strobed” at 2π increments of thephase Δφ to freeze the phase of the fringe. Different phase shifts couldthen be achieved by varying the strobe timing.

[0234] It will be appreciated that cycle counting, progressive fringedivision, and progressive fringe division using fringe synthesis aregeneral techniques for resolving counting ambiguities and increasingmeasurement precision, and that their usefulness goes far beyond theapplications described above. Furthermore these techniques can beapplied to generalized signals (including one-dimensional signals) andare not limited to sinusoidal variations.

[0235] It should also be appreciated that these techniques apply togeneral structured-light patterns formed by arbitrary means. Examples ofmeans for producing structured light patterns are the interference ordiffraction of coherent radiation, the “white-light” superposition ofinterference or diffraction patterns formed at different wavelengths,and the imaging of patterns onto the object with a lens using eithercoherent or incoherent radiation. As an example of the imaging approach,a white-light pattern produced by a digital projector can be made toexpand and contract to produce accordion motion and to translatesideways to produce phase modulation. Although projecting white-lightpatterns onto the surface in this manner may eliminate speckle effects,this approach has certain disadvantages. With an imaged light pattern,there is a limit to how small the fringe period may be. It is alsonecessary to consider the depth of field of the projected pattern. Itmay not be possible to project a fine fringe pattern from an obliqueangle that is in focus over the entire object. On the other hand,fringes produced by interference or diffraction are always “in focus” onthe object surface, no matter what the distance to the observation pointor the size of the fringes.

[0236] A further embodiment of the invention maintains the advantages offorming fringes by interference or diffraction and eliminates speckleeffects by forming these fringes in broad-band illumination or whitelight. This embodiment is based on the incoherent superposition ofinterference-fringe intensities formed at different componentwavelengths in the illumination spectrum. If these fringes have the samesize and shape, the interference-fringe intensities corresponding todifferent wavelengths reinforce each other at every point in thepattern.

[0237] By reference to Eq. (57), fringes of the same size and shape areproduced by fixing the ratio a/λ. This objective can be achievedsimultaneously for each component wavelength by using a diffractiongrating followed by a lens. For small diffraction angles, the angulardeviation of the first-order beam diffracted by the grating isproportional to the wavelength of that beam. The lens converts thisangular deviation into a displacement of the source P₁ or P₂ that isalso proportional to λ, thus making it possible to maintain a constanta/λ ratio. In this embodiment, the location of source P₁ or P₂ issmeared out in wavelength. White-light phase shifting can be achieved bytranslating the grating sideways or through the use of a white-lightphase shifter, based on, for example, the Pancharatnam phase.

[0238] There are many possible optical arrangements for implementing asource head based on these principles. In one arrangement, Bragggratings are placed in beams 46 and 50 in FIG. 10. The gratings (notshown) and prism 92 are positioned such that the two focal spotscorresponding to the undiffracted beams overlap and the first-orderbeams are deviated towards the base of prism 92. This arrangement causesthe source separation a corresponding to the diffracted beams to beproportional to the optical wavelength λ. White-light phase shifting, isachieved by translating one of the Bragg gratings laterally. Variationof fringe size is achieved by changing the period of the grating. In oneembodiment, the grating period is changed electronically using a Braggcell, or acousto-optic modulator. In this embodiment, both Bragg cellsare driven at the same frequency and phase shifting is accomplished byshifting the phase of one drive signal with respect to the other. (Thefringes are stationary because each beam suffers the same Dopplershift.) In another embodiment, Bragg gratings of different periods aremoved into place sequentially. In yet another embodiment, a singlediffractive element is placed in beam 44. A separate white-light phaseshifter (not shown) is placed in one of the beams 46 or 50. In someembodiments of a white-light phase shifter known to those skilled in theart, beam splitter 48 is a polarizing beam splitter.

[0239] Referring now to FIG. 17, therein is shown an embodiment of abroadband or white-light interference fringe projector. Source 250generates a substantially collimated beam of radiation 252 that isdirected to diffraction grating 254 at substantially normal incidence.Diffraction grating 254 has grating period D. Input beam 252 isrepresented by three constituent wavelength components λ₁, λ₂, and λ₃for illustration. Beam 252, in actuality, can have arbitrary spectralcomposition. Diffraction grating 254 splits beam 252 into multiplediffracted beams whose diffraction orders can be represented by theinteger m. For illustration purposes, only rays along the perimeter ofbeam 252 are shown. These diffracted beams propagate at angles θ_(m)with respect to the optical axis 258 according to the grating equationfor normal incidence, which is given by: $\begin{matrix}{{\sin \quad \theta_{m}} = \frac{m}{\lambda \quad D}} & (74)\end{matrix}$

[0240] In one embodiment, diffraction grating 254 is designed tomaximize and equalize the diffracted efficiency for the diffractionorder m=+1 diffracted beam 260 and the diffraction order m=−1 diffractedbeam 262. In other embodiments, diffraction grating 254 is designed tomaximize and equalize the diffracted efficiency for any set of positiveand negative beams of equal order |m|, and to minimize the energydiffracted into all other orders. Any residual undiffracted (m=0) beam264, will pass undeviated through diffraction grating 254 and is focusedby lens 266 onto focal spot 268.

[0241] The spectral components λ1, λ2, and λ3 of focal spot 268substantially overlap. Focal spot 268, in one embodiment, may besubstantially blocked by the central obstruction 270 of optional doubleslit 272. The different spectral components λ₁, λ₂, and λ₃ of diffractedbeams 260 and 262 are focused by lens 266 onto spectral regions 274 and276. The distance a(λ) between the focal spot within spectral region 274and the focal spot within spectral region 276 corresponding to a givenwavelength λ is substantially proportional to the wavelength λ. Aperturestop 278 of lens 266, in one embodiment, can be used to block undesiredhigher-order diffracted beams. Any undesired residual diffracted ordersthat pass through lens 266 can be blocked, in another embodiment, by theopaque regions of optional double slit 272. Radiation from the twospectral regions 274 and 276 expands and overlaps as it propagates andforms a broadband interference-fringe pattern 280. Fringe pattern 280has representative fringe period d at representative distance R fromdouble slit 272.

[0242] Prior equations such as Eq. (57) which are based on a specificsource separation a and a specific wavelength λ, can be applied to firstorder to the broadband interference fringe projector illustrated in FIG.17 by making the substitution $\begin{matrix}{\frac{a}{\lambda} = \frac{2f}{D}} & (75)\end{matrix}$

[0243] where f is the focal length of lens 266 and D is the period ofdiffraction grating 254.

[0244] It should be noted that the fringe-generation scheme depicted inFIG. 17 can also produce fringes using narrow-band or laserillumination. One advantage of using diffraction grating 254 followed bylens 266 for narrow-band illumination is that fringe period d isinsensitive to wavelength so that frequency drifts of the source do notsubstantially degrade measurements. For example, although laser diodesare relatively inexpensive and readily available sources, they have atemperature-dependent operating wavelength. However, since thistechnique is insensitive to temperature-dependent wavelength shifts,laser diodes can be used without measurement degradation.

[0245] In one embodiment, diffraction grating 254 is a thin phasegrating having a square-wave phase profile whose relative phase delayalternates between 0° and 180° for a representative wavelength, λ₂, witha 50% duty cycle. Grating 254 is relatively efficient, diffractingapproximately 40.5% of the available energy into each of the m=−1 andm=+1 diffracted orders, and nominally 0% into the m=0 and other evendiffracted orders. The relative phase delay of grating 254 is a functionof wavelength, causing the energy in the undiffracted beam 264 at orderm=0 to increase for wavelengths that differ from the representativewavelength λ₂. In one embodiment, grating 254 is made relatively thinwhich reduces the wavelength dependence of the grating so that itperforms well over a wide frequency spectrum.

[0246] Phase shifting the resulting broadband (or narrow-brand)interference-fringe pattern 280 is achieved by simply translatingdiffraction grating 254 in the direction 282 shown in FIG. 17.White-light or broadband phase shifting is realized because atranslation of diffraction grating 254 by a given fraction of thegrating period D shifts each spectral component of fringe pattern 280 bythe same fraction of the fringe period d. For example, a translation ofgrating 252 by D/4, or one-quarter cycle, also shifts theinterference-fringe pattern 280 by one-quarter cycle, or 90°.

[0247] Accordion motion (or variation of fringe size) ofinterference-fringe pattern 280 can be achieved in a number of ways. Inone embodiment, for small diffracted angles θ_(m), doubling the period Dof grating 254 halves the magnitude of θ_(m) of beams 260 and 262 (thisis a small-angle approximation of Eq. (74)), which in turn doubles theperiod d of fringe pattern 280. In another embodiment, decreasing thefocal length f of lens 266 can increase the period d of fringe pattern280. The period d of fringe pattern 280 is related to the period D ofdiffraction grating 254, the focal length f of lens 266, and thepropagation distance R to first order by $\begin{matrix}{d = \frac{R\quad D}{2\quad f}} & (76)\end{matrix}$

[0248] In order to produce, a continuous variation in d of fringepattern 280 or to produce an arbitrary set of d values lying along acontinuum, it is necessary to be able to continuously vary one or moreof the parameters in Eq. (76). In one embodiment, lens 266 may be a zoomlens with variable focal length f. In another embodiment, the period Dof grating 254 may be varied by stretching the grating with an appliedforce. In yet another embodiment, the period D of grating 254 may bevaried electronically through, as an example, the variable grating mode(VGM) effect in liquid crystal devices. In yet another embodiment, theperiod of grating 254 may vary along the axis orthogonal to the gratinglines so that sliding grating 254 sideways in the directionperpendicular to 282 can control the period D of grating 254. By usingfringe synthesis, previously described, it is possible to achieve largevariations in effective period d with small variations inf, D, or R. Forexample, fringe-synthesis Eqs. (64) and (67) can be modified as follows:$\begin{matrix}{{N_{wrapped}\left( {\frac{f_{2}}{D_{2}} - \frac{f_{1}}{D_{1}}} \right)} = \left\lbrack {{N_{wrapped}\left( \frac{f_{2}}{D_{2}} \right)} - {N_{wrapped}\left( \frac{f_{1}}{D_{1}} \right)}} \right\rbrack_{wrapped}} & (77)\end{matrix}$

[0249] where N_(wrapped) is now a function of the ratio f/D.

[0250] It is typically adequate to have a predetermined discrete set ofvalues for f and/or D and to resolve fringe-number ambiguities throughprogressive fringe division as previously discussed. In one embodiment,progressive fringe division is accomplished by sequentially moving adiscrete set of diffraction gratings 254 or lenses 266 into respectivepositions in FIG. 17. In alternative embodiments, grating 254 or lens266 is switchable and assumes discrete values of D and f Some examplesof switchable gratings include liquid-crystal spatial light modulators,patterned alignment liquid-crystal spatial light modulators,electrically switchable diffractive optical elements, cascadedelectrically switchable diffractive optical elements, andmicroelectromechanical systems (MEMS).

[0251] In one embodiment, illustrated in FIG. 18, diffraction grating254 is a liquid-crystal spatial light modulator 290 consisting of alinear array of long parallel phase retarders 292, or pixels, whosephase retardance can be controlled to produce a cyclicalphase-retardance pattern 294. In this manner, a thin phase grating canbe produced and actuated electrically. For example, it is possible toproduce a square-wave phase profile whose nominal relative phase delayalternates between 0° and 180° with a 50% duty cycle. The period D andoffset 282 of the resulting diffraction grating 254 are variable indiscrete steps with high repeatability. Thus, both the fringe spacing dand the phase shift of the resulting fringe pattern 280 is controllableelectrically in discrete repeatable steps at high speeds.

[0252] In FIG. 18, w_(p) is the width of pixel 292, and n_(block) is thenumber of pixels 292 that are repeated at the same phase retardancelevel to produce one half of a 50%-duty-cycle thin phase grating. As anexample, n_(block)=2 in FIG. 18. The grating period D is given by

D=2n _(block) W _(p)  (78)

[0253] and can be varied by changing the value of n_(block). Thesmallest phase shift Δφ of diffraction grating 254, and hence ofinterference-fringe pattern 280, that can be produced for a given valueof n_(block) is $\begin{matrix}{{\Delta \quad \varphi} = \frac{180^{\circ}}{n_{block}}} & (79)\end{matrix}$

[0254] Thus, for example, phase shifts of ±90°, ±180°, and ±270° can beproduced for an n_(block) value of 2 and phase shifts of ±60°, ±120°,±180°, ±240°, and ±300° for an n_(block) value of 3. A generalized fromof Eq. (6) that is valid for three arbitrary phase shifts φ₁, φ₂, and φ₃can be expressed as: $\begin{matrix}{\varphi = {\tan^{- 1}\frac{{I_{1}\left( {{\cos \quad \varphi_{2}} - {\cos \quad \varphi_{3}}} \right)} + {I_{2}\left( {{\cos \quad \varphi_{3}} - {\cos \quad \varphi_{1}}} \right)} + {I_{3}\left( {{\cos \quad \varphi_{1}} - {\cos \quad \varphi_{2}}} \right)}}{{I_{1}\left( {{\sin \quad \varphi_{3}} - {\sin \quad \varphi_{2}}} \right)} + {I_{2}\left( {{\sin \quad \varphi_{1}} - {\sin \quad \varphi_{3}}} \right)} + {I_{3}\left( {{\sin \quad \varphi_{2}} - {\sin \quad \varphi_{1}}} \right)}}}} & (80)\end{matrix}$

[0255] where I₁, I₂, and I₃ are signal intensities corresponding tophase shifts φ₁, φ₂, and φ₃. Thus, the phase shift values can beselected differently for each value of n_(block) according to theavailability of phase-shift values.

[0256] Fringe synthesis is an effective means of obtaining additionalvalues of D beyond those achievable by varying the integer n_(block) inEq. (78). The available values of the effective grating period D_(eff)that can be synthesized from two measurements with different values ofn_(block) are given by $\begin{matrix}{D_{eff} = \frac{w_{p}}{\frac{1}{n_{block1}} - \frac{1}{n_{block2}}}} & (81)\end{matrix}$

[0257] where n_(block1)<n_(block2). Large values of D_(eff) can beobtained using Eq. (81) by making n_(block1) and n_(block2) successiveintegers. As an illustration of a possible measurement strategy, assumethat the pixel width w_(p) is 10 μm and that a sequence of threemeasurements is taking with n_(block0)=2, n_(block1)=19, andn_(block2)=20. This sequence can be used to produce a first gratingperiod D of 40 μm using n_(block)=2 in Eq. (78) and a second gratingperiod of 400 μm using n_(block)=20 in Eq. (78). A third, and muchlarger grating period, of 4.2 mm can be synthesized by usingn_(block1)=19, and n_(block2=)20 in Eq. (81). The ratio betweensuccessive grating periods in this sequence is approximately ten, whichis a reasonable sequence for progressive fringe division.

[0258] Referring back to FIG. 17, wide variations of n_(block) producecorresponding wide variations in the spread and location of spectralregions 274 and 276. In one embodiment, a more sophisticated version ofdouble slit 272, such as beam block 296 shown in FIG. 19, may then beused to eliminate unwanted residual diffracted orders. Beam block 296comprises two nested double slits and includes central obstruction 268.The outer double slit 275 passes spectral regions 274 and 276 for thesmallest value n_(block0) used in the measurement sequence in the aboveexample, while the inner double slit 277 passes the desired spectralregions 274′ and 276′ for the larger values n_(block1) and n_(block2).

[0259] In yet another embodiment illustrated in FIG. 20, accordionmotion is achieved by placing lens 300 on optical axis 258 such thatimages 302 and 304 of spectral regions 274 and 276 are formed at imageplane 306. Note that in another embodiment, images 302 and 304 may bevirtual images (not shown), if the focal length of lens 300 is negative.Accordion motion results in one embodiment, by varying the magnificationof images 302 and 304 by moving lens 300 along optical axis 258. Or, inanother embodiment, accordion motion results by changing the focallength of lens 300. In yet another embodiment, lens 300 is a zoom lens,which varies the focal length without changing the location of imageplane 306. In still an alternative embodiment, a discrete set of lensesof different focal lengths can be placed in suitable positionssequentially. The use of lens 300 produces accordion motion withoutchanging any of the components within FIG. 17, including double slit272.

[0260] Yet another embodiment of a broadband interference-fringeprojector is shown in FIG. 21. This embodiment includes broadband source250, an acousto-optic modulator (AOM) 306, and a lens 266. AOM 306 isdriven with a compound signal 308 generated by multiplier 310 whichmultiplies a sinusoid 312 having a variable frequency f_(m) by asinusoid 314 having a fixed frequency f_(c). Compound signal 308produces two traveling acoustic waves of different periods in AOM 306that in turn generate two angularly separated beams 260 and 262. Thedifferent spectral components of diffracted beams 260 and 262 arefocused by lens 266 into spectral regions 274 and 276, where theseparation a(λ) between the focal spot within spectral region 274 andthe focal spot within spectral region 276 corresponding to a givenwavelength λ is substantially proportional to the wavelength λ. Inaddition, the midpoint between like spectral components of spectralregions 274 and 276 is substantially localized at position 268 for eachspectral component. By adjusting f_(m) the separation a(λ) for eachwavelength component λ is adjusted about point of symmetry 268 from zeroseparation to the maximum separation permitted by the bandwidth of AOM306. Radiation from the two spectral regions 274 and 276 expands andoverlaps as it propagates to form a broadband interference-fringepattern 280 of representative period d at representative distance R.Varying f_(m) causes fringe pattern 280 to expand or to contract.

[0261] Since the pressure variations across AOM 306 are traveling, beams274 and 276 are Doppler shifted with respect to one another. This causesfringe pattern 280 to travel across the region of overlap at a speedproportional to the difference frequency between the two frequencycomponents of compound signal 308. Interference pattern 280 can beeffectively frozen at a particular spatial phase by amplitude modulatingsource 250 at the difference frequency 2f_(m) of the two beams 260 and262. The spatial phase of the fringes 280 can be precisely controlled bychanging the phase (e.g. changing the delay) of the laser drive signal316 with respect to the AOM control signal 308. Alternatively, drivesignal 316 can be used to control an external amplitude modulator placedin the optical path (not shown) or to modulate the sensitivity ofdetector 22 used to observe the fringe pattern.

[0262] In the above embodiments of a broadband interference-fringeprojector, beam 252 is substantially collimated so that diffractiveelement 254 (FIG. 17) or 306 (FIG. 21) diffracts each spectral componentof a given diffraction order m into the same diffracted angle θ_(m).Other variations of this configuration are also possible, and remainwithin the spirit and scope of this invention. For example, in alternateembodiments, beam 252 may be either diverging or converging. In yetanother embodiment, beam 252 may enter diffractive element 254 atoblique incidence. In still another embodiment, the order of therefractive and diffractive elements may be reversed.

[0263] Many alternative light sources 250 may be used, depending on thedegree of temporal and spatial coherence desired. Low temporal coherence(broad spectral content) reduces or eliminates speckle effects. Whereas,high spatial coherence allows for tighter focal spots to be formed foreach spectral component in spectral regions 274 and 276. Generally,tight focal spots improve the visibility of fringes and increase thedepth of field of fringe pattern 280. Note that the depth of field isinfinite for spatially coherent sources. Additionally, tight focal spotsalso make it easier to separate spectral regions corresponding todifferent diffracted orders m so that undesired spectral regions can beblocked with representative masks 272 or 296.

[0264] One method of achieving high spatial coherence is to make lightsource 250 laser based. In one embodiment, source 250 is a laser diodewith collimating optics. Laser diodes with spectral widths ofapproximately 3 nm are commonly available. In another embodiment, thespectral width can be broadened by coupling together an array of laserdiodes operating at different wavelengths into a single beam. In stillanother embodiment, a rapidly scanning tunable laser can be used.Another approach to broadening the spectrum of a laser is to pump astandard single-mode silica fiber with a passively Q-switched microchiplaser. A variety of nonlinear effects in the fiber produce an extremelybroadband spectrum at the output end of the fiber. In yet anotherapproach, broadband illumination is achieved with a modelockedtitanium:sapphire laser.

[0265] There are many other approaches for generating beam 252 that relyon more conventional sources. Lower (but adequate) spatial coherence canbe achieved, for example, by coupling an arc lamp into an optical fiber.The output end of the fiber acts like an extended source. If the outputof the fiber is collimated using a lens, the longer the focal length ofthe lens, the smaller the variation in the angle of propagation in beam252 and the tighter the focal spots that can be formed within spectralregions 274 and 276. When using an extended source, spatial incoherenceeffects are minimized by placing lens 266 at a distance along opticalaxis 258 such that the surface of diffraction grating 254 or the activearea of AOM 306 would be imaged onto a plane on or near the surface ofobject 10 being illuminated. This configuration minimizes spatialincoherence effects because the rays that reach a given area of fringepattern 280 to interfere all originate from the same region of thediffractive element where the input beam is split into differentdiffracted orders.

[0266] The above embodiments for projecting fringe patterns (whetherbased on narrow-band or broad-band illumination) vary in the accuracyand repeatability to which the phase shifts φ₁, φ₂, and φ₃ can be set.For instance, phase shifting by moving an optical component such asmirror 94 or 96 in FIG. 10 or grating 254 in FIG. 17 with apiezoelectric transducer suffers from inconsistencies due to hysteresis.Variations of these phase shifts from their assumed values cause errorsin the calculation of φ in Eq. (6) or Eq. (80). These errors in φ areperiodic in nature and produce a rippled appearance in the reconstructedsurface profile. Likewise, a rippled appearance is caused byimperfections in the illumination sequence. These imperfections may becaused, for example, by changes in the exposure level or bias levelduring acquisition of signal intensities I₁, I₂, and I₃. Exposure-levelvariations may occur, for instance, from fluctuations in sourceintensity or from differences in exposure time due to shutterimperfections.

[0267] The ripple pattern occurs on the reconstructed surface with thesame orientation as the projected fringe pattern on the physical surface10. The dominant period of the ripple pattern depends on the errorsource. Phase-shift errors, for example, produce two ripple oscillationsper fringe period. Ripple can be the dominant error source in a surfaceprofile measurement, particularly if speckle has been eliminated throughbroad-band illumination, or if speckle effects from narrow-bandillumination have been suppressed through one of the mitigationtechniques described above.

[0268] A versatile and robust technique, referred to as histogram-basedderippling, is now introduced that corrects for ripple error. In thistechnique, the data is analyzed to determine actual phase offsets andexposure-level variations so that φ can be calculated using correctedvalues. In order to elucidate this technique, Eq. (80) is firstrewritten in a form where assumed values, as well as quantitiescalculated from assumed values, are differentiated from actual values:$\begin{matrix}{\hat{\varphi} = {\tan^{- 1}{\frac{{I_{1}\left( {{\cos \quad {\hat{\varphi}}_{2}} - {\cos \quad {\hat{\varphi}}_{3}}} \right)} + {I_{2}\left( {{\cos \quad {\hat{\varphi}}_{3}} - {\cos \quad {\hat{\varphi}}_{1}}} \right)} + {I_{3}\left( {{\cos \quad {\hat{\varphi}}_{1}} - {\cos \quad {\hat{\varphi}}_{2}}} \right)}}{{I_{1}\left( {{\sin \quad {\hat{\varphi}}_{3}} - {\sin \quad {\hat{\varphi}}_{2}}} \right)} + {I_{2}\left( {{\sin \quad {\hat{\varphi}}_{1}} - {\sin \quad {\hat{\varphi}}_{3}}} \right)} + {I_{3}\left( {{\sin \quad {\hat{\varphi}}_{2}} - {\sin \quad {\hat{\varphi}}_{1}}} \right)}}.}}} & (82)\end{matrix}$

[0269] In Eq. (82), {circumflex over (φ)}₁, {circumflex over (φ)}₂, and{circumflex over (φ)}₃ are the assumed phase-shift values and{circumflex over (φ)} is the calculated phase using these assumedvalues.

[0270] Variations due to imperfections of the illumination sequence maybe incorporated into Eq. (82) by writing the intensity in the form$\begin{matrix}{{I_{i} = {B_{i} + {A_{i}\frac{1 + {\cos \left( {\varphi - \varphi_{i}} \right)}}{2}}}},} & (83)\end{matrix}$

[0271] where the subscript i takes one of the values 1, 2, or 3, andrepresents a particular member of the illumination sequence. Theparameters A_(i) and B_(i) allow for variations in the exposure leveland bias level of the illumination sequence, respectively. Without lossof generality, the nominal peak-to-valley amplitude swing in Eq. (83)can be assumed to be unit valued.

[0272] If the values of A_(i) and B_(i) are known, or are estimated asÂ_(i) and {circumflex over (B)}_(i), imperfections in the illuminationsequence can be corrected by using the calculated intensity$\begin{matrix}{{\hat{I}}_{i} = \frac{I_{i} - {\hat{B}}_{i}}{{\hat{A}}_{i}}} & (84)\end{matrix}$

[0273] to replace the measured intensity I_(i) in Eq. (82). In addition,phase-step errors can be eliminated if the actual values φ₁, φ₂, and φ₃can be determined and used in Eq. (82) rather than the assumed values{circumflex over (φ)}₁, {circumflex over (φ)}₂, and {circumflex over(φ)}₃ One approach to minimizing ripple is to vary the parameters A_(i),B_(i) and φ_(i) such that a metric indicating the degree of ripple in{circumflex over (φ)} is minimized. Besides being computationallyintensive to implement and requiring a multi-dimensional searchalgorithm to minimize the metric, it is difficult to find a suitablemetric for minimization without first unwrapping the phase function{circumflex over (φ)} over a representative subset of the surface. Oneexample of a metric that could be used, once unwrapping has taken place,is the standard deviation of the difference between {circumflex over(φ)} and a smoothed representation of {circumflex over (φ)}. This metrictends to decrease as the contributions due to ripple decrease.

[0274] Histogram-based derippling is superior to the above deripplingapproach because it does not require phase unwrapping and producescorrected parameters directly. Reference is now made to FIG. 22 for acontinued introduction to this technique. FIG. 22 contains plots of theerror (φ−{circumflex over (φ)})/(2π) as a function of the calculatedquantity {circumflex over (φ)}/(2π) for different values of theparameters A_(i), B_(i), and φ_(i). This error is equivalent to theripple-induced component of the fringe-number error ΔN and limits rangeresolution as described in Eq. (32). In these curves, the assumedphase-step values are {circumflex over (φ)}₁=−120°, {circumflex over(φ)}₂=0°, and {circumflex over (φ)}₃=120°. Both φ and {circumflex over(φ)} are considered to be wrapped quantities that range between −π and+π so that φ/(2π) and {circumflex over (φ)}/(2π) range between−{fraction (1/2)} and +{fraction (1/2)}. Curve (a) shows the effects ofamplitude variations A₁=0.9, A₂=1, A₃=1.2, Curve (b) corresponds to biasvariations B₁=0.2, B₂=0, B₃=0.1, and Curve (c) displays the effects ofhaving actual phase shifts φ₁=−105°, φ₂=0°, and φ₃=100° that differ fromthe assumed values. Finally, FIG. 22a is a plot of the slope of thecurves in FIG. 22, given by the derivative of φ with respect to{circumflex over (φ)} and denoted as φ′({circumflex over (φ)}). Thisslope oscillates about unity and converges to unity at all points as theassumed parameters approach their true values. Note that relativelylarge slope variations are produced for relatively small errors in ΔN,making slope a sensitive indicator of error in the assumed values ofA_(i), B_(i), and φ_(i).

[0275] Clearly, FIG. 22 and FIG. 22a contain a great deal of informationabout A_(i), B_(i), and φ_(i). For example, these plots illustrate thatbias variations introduce one ripple per fringe and that phase-steperrors introduce two ripples per fringe. Amplitude variations produce amixture of one and two ripples per fringe. If it were possible toproduce the curves graphed in FIG. 22 or FIG. 22a from analysis of thedata, the dependence of the governing equations for these curves onA_(i), B_(i) and φ_(i) could be used to recover information about theseparameters. Then the data could be derippled by calculating φ usingthese corrected parameters. The difficulty with this approach is thatthese graphs presuppose knowledge of the true values of φ.

[0276] The histogram approach overcomes this difficulty. In thisapproach, a histogram is first made representing the relative occurrenceof each value of {circumflex over (φ)} in the measurement (or somesubset of the measurement). The histogram is created by dividing therange of possible values of {circumflex over (φ)} into a finite numberof bins and counting the number of occurrences of {circumflex over (φ)}that fall within each bin. The histogram of {circumflex over (φ)}provides a numerical approximation to the probability density functionof {circumflex over (φ)}, written as P({circumflex over (φ)}). The twoprobability density functions P({circumflex over (φ)}) and P(φ) can berelated through the well-known relation

P({circumflex over (φ)})=P(φ)|φ′({circumflex over (φ)})|,   (85)

[0277] which assumes that φ is a single-valued function of {circumflexover (φ)}. The derivative in Eq. (85) is what is graphed in FIG. 22a.The probability distribution function P({circumflex over (φ)}) isavailable from the data through calculation of the histogram of{circumflex over (φ)}. Although P(φ) in Eq. (85) is unknown, it isreasonable to assume for most cases of interest that φ is uniformlydistributed over its range of potential values. This assumption becomesmore precise as the number of fringes covering the sampled surface areaincreases. In practice, the assumption that P(φ) is uniformlydistributed has proven to be adequate for even a relatively small numberof fringes. Other forms of P(φ), however, can be used forhistogram-based derippling where the functional form of P(φ) is refinedbased on additional information about the surface.

[0278] Given P(φ), Eq. (85) can be used to relate the quantityP({circumflex over (φ)}) (obtained through calculating a histogram ofthe measured values {circumflex over (φ)}) to the absolute value of thederivative φ′({circumflex over (φ)}). Actual values of A_(i), B_(i) andφ_(i) can then be determined based on the functional form of thisderivative. To illustrate how this may be done, the functional form ofφ′({circumflex over (φ)}) is now analyzed in greater detail.

[0279] First, consider the case where there are no amplitude or biasvariations (A_(i)=1 and B_(i)=0), but only phase step errors. For thiscase, it can be shown that φ′({circumflex over (φ)}) takes thefunctional form $\begin{matrix}{{{\varphi^{\prime}\left( \hat{\varphi} \right)} = \frac{K}{1 + {K_{c2}\cos \quad \left( {2\hat{\varphi}} \right)} + {K_{s2}{\sin \left( {2\hat{\varphi}} \right)}}}},} & (86)\end{matrix}$

[0280] where K, K_(c2), and K_(s2) are constants whose values depend onthe assumed phase-step values {circumflex over (φ)}_(i) and the actualphase-step values φ_(i). The value of K (which is close to unity) can bedetermined from the other two constants K_(c2) and K_(s2), leaving onlytwo degrees of freedom in Eq. (86). The constants K_(c2) and K_(s2) maybe obtained from the shape of the histogram of {circumflex over (φ)} by,for example, taking the reciprocal of this histogram and calculating theFourier coefficients that correspond to the cos(2{circumflex over (φ)})and sin(2{circumflex over (φ)}) terms of a Fourier series expansion. TheFourier coefficients for the cos(2{circumflex over (φ)}) andsin(2{circumflex over (φ)}) terms are then normalized by the DC term ofthe Fourier series to yield K_(c2) and K_(s2), respectively.

[0281] Because Eq. (86) only has two degrees of freedom, it is notpossible to fully recover the values of the three phase shifts φ₁, φ₂,and φ₃ from this equation. Instead, what can be recovered are therelative phase shifts φ₁−φ₂, φ₂−φ₃, and φ₃−φ₁, two of which determinethe third. Knowledge of these relative phase shifts is sufficient tocompletely eliminate ripple. There is, however, a small offset error inthe improved calculation of {circumflex over (φ)} that remains. Thisoffset error is due to lack of knowledge of the true value of φ₂.

[0282] For simplicity, let the assumed phase shifts be equal, ofmagnitude φ_(step), and centered about zero. These phase shifts can thenbe expressed as {circumflex over (φ)}₁=−φ_(step), {circumflex over(φ)}₂=0, and {circumflex over (φ)}₃=φ_(step). Also assume that φ₂=0 bydefault. The values of φ₁ and φ₃ can then be determined from K_(c2) andK_(s2) by the relations $\begin{matrix}{{\varphi_{1} = {- {\cos^{- 1}\left( \frac{K_{c2} + K_{c2}^{2} + K_{s2}^{2} + {\left( {1 + K_{c2} - K_{s2}^{2}} \right)\cos \quad \varphi_{step}} + {\left( {1 + K_{c2}} \right)K_{s2}\sin \quad \varphi_{step}}}{\left( {1 + K_{c2}} \right)\left( {1 + {K_{c2}\cos \quad \varphi_{step}} + {K_{s2}\sin \quad \varphi_{step}}} \right)} \right)}}}{and}} & (87) \\{\varphi_{3} = {{\cos^{- 1}\left( \frac{K_{c2} + K_{c2}^{2} + K_{s2}^{2} + {\left( {1 + K_{c2} - K_{s2}^{2}} \right)\cos \quad \varphi_{step}} - {\left( {1 + K_{c2}} \right)K_{s2}\sin \quad \varphi_{step}}}{\left( {1 + K_{c2}} \right)\left( {1 + {K_{c2}\cos \quad \varphi_{step}} + {K_{s2}\sin \quad \varphi_{step}}} \right)} \right)}.}} & (88)\end{matrix}$

[0283] For the case previously assumed in Eq. (6) where φ_(step)=90°,Eqs. (87) and (88) reduce to $\begin{matrix}{{{\varphi_{1} = {- {\cos^{- 1}\left( \frac{K_{c2} + K_{s2} + K_{c2}^{2} + K_{s2}^{2} + {K_{c2}K_{s2}}}{\left( {1 + K_{c2}} \right)\left( {1 + K_{s2}} \right)} \right)}}}{and}}\quad} & (89) \\{\varphi_{3} = {{\cos^{- 1}\left( \frac{K_{c2} - K_{s2} + K_{c2}^{2} + K_{s2}^{2} - {K_{c2}K_{s2}}}{\left( {1 + K_{c2}} \right)\left( {1 - K_{s2}} \right)} \right)}.}} & (90)\end{matrix}$

[0284] As a further example of the application of histogram-basedderippling, the technique is applied to a combination of phase-steperrors and amplitude errors. Although the expression for φ′({circumflexover (φ)}) for this case is much more complicated than Eq. (86), it canbe approximated for small values of A_(i)−1 and φ_(i)−{circumflex over(φ)}_(i) as $\begin{matrix}{{\varphi^{\prime}\left( \hat{\varphi} \right)} = {\frac{1}{1 + {K_{c1}\cos \quad \left( \hat{\varphi} \right)} + {K_{s1}{\sin \left( \hat{\varphi} \right)}} + {K_{c2}{\cos \left( {2\hat{\varphi}} \right)}} + {K_{s2}{\sin \left( {2\hat{\varphi}} \right)}}}.}} & (91)\end{matrix}$

[0285] Once again, the coefficients K_(c1), K_(s1), K_(c2), and K_(s2)are obtainable through Fourier analysis, being the corresponding Fouriercoefficients of a Fourier-series expansion of the reciprocal of thehistogram used to approximate φ′({circumflex over (φ)}).

[0286] Setting {circumflex over (φ)}₂=φ₂=0 and A₂=1, and allowingunequal step sizes for the assumed values of {circumflex over (φ)}₁ and{circumflex over (φ)}₃, the newly approximated values of φ₁, φ₃, A₁, andA₃ can be determined from K_(c1), K_(s1), K_(c2), and K_(s2) through therelations

φ₁={circumflex over (φ)}₁ +K _(c1)sin {circumflex over (φ)}₁ +K_(s1)(1−cos {circumflex over (φ)}₁)+K _(c2)(sin {circumflex over(φ)}₃−sin({circumflex over (φ)}₁+{circumflex over (φ)}₃))−K _(s2)(cos{circumflex over (φ)}₃−cos({circumflex over (φ)}₁+{circumflex over(φ)}₃),  (92)

φ₃={circumflex over (φ)}₃ +K _(c1)sin {circumflex over (φ)}₃ +K_(s1)(1−cos {circumflex over (φ)}₃)+K _(c2)(sin {circumflex over(φ)}₁−sin({circumflex over (φ)}₁+{circumflex over (φ)}₃)−K _(s2)(cos{circumflex over (φ)}₁−cos({circumflex over (φ)}₁+{circumflex over(φ)}₃)),  (93)

A ₁=1+K _(c1)(1−cos {circumflex over (φ)}₁)−K _(s1)sin {circumflex over(φ)}₁,  (94)

[0287] and

A ₃=1+K _(c1)(1−cos {circumflex over (φ)}₃)−K _(s1)sin {circumflex over(φ)}₃.  (95)

[0288] Because Eqs. (92)-(95) are based on the small-error approximationgiven by Eq. (91), the calculated values of φ₁, φ₃, A₁, and A₃ areimproved, but not exact. If desired, higher accuracy can be obtained byiterating the procedure. To do so, the values of {circumflex over (φ)}₁and {circumflex over (φ)}₃ calculated from Eqs. (92) and (93) become thenew assumed values {circumflex over (φ)}₁ and {circumflex over (φ)}₃ inEq. (82), and the values of A₁ and A₃ obtained from Eqs. (94) and (95)become the new assumed values Â₁ and Â₃ in Eq. (84). This procedureconverges rapidly, providing many significant decimal places ofprecision in only a few iterations.

[0289] As an additional benefit, bias variations Bi are handledautomatically within the context of this iterative approach. As thenumber of iterations increases, the effects of bias variations B_(i) areeliminated by being folded into the other parameters A_(i) and φ_(i).This approach eliminates ripple, leaving a small offset error similar tothe error introduced by the lack of precise knowledge of φ₂.

[0290] Having described and shown the preferred embodiments of theinvention, it will now become apparent to one of skill in the art thatother embodiments incorporating the concepts may be used and that manyvariations are possible which will still be within the scope and spiritof the claimed invention. It is felt, therefore, that these embodimentsshould not be limited to disclosed embodiments but rather should belimited only by the spirit and scope of the following claims.

What is claimed is:
 1. An apparatus for projecting fringes onto asurface of an object, said apparatus comprising: a) two sources ofradiation having a spectral distribution; b) a collimator in opticalcommunication with said two sources, said collimator generating twosubstantially collimated beams of broadband radiation; c) a diffractivegrating in optical communication with said collimator; and d) a lens inoptical communication with said diffractive grating, wherein said lensgenerates two images of radiation having a spatial distribution ofspectral regions.
 2. The apparatus of claim 1 wherein each of saidspectral regions of one of said sources is separated from a respectivespectral region of the other of said sources by a distance proportionalto the respective wavelength of said spectral regions.
 3. The apparatusof claim 2 wherein said distance is linearly proportional to saidwavelength of said spectral regions.
 4. The apparatus of claim 2 whereinsaid distance comprises a midpoint equidistant from each of tworespective spectral regions and wherein said midpoint is fixed.
 5. Theapparatus of claim 1 wherein said two sources of radiation are coherentwith respect to one another.
 6. The apparatus of claim 1 wherein saidtwo sources of radiation have a spectral distribution that isnarrowband.
 7. The apparatus of claim 1 further comprising a detectorfor determining three-dimensional position information of a point onsaid surface of said object.
 8. The apparatus of claim 1 wherein the twosources of radiation are generated from a single source of radiation. 9.The apparatus of claim 1 further comprising a translator coupled to saiddiffractive grating, said translator shifting the relative phase of oneof said spectral regions with respect to the other of said spectralregions.
 10. A method for mitigating the effects of speckle on ameasurement of a point on a surface of an object, said method comprisingthe steps of: a) generating a coherent fringe pattern; b) projecting thecoherent fringe pattern along an optical path onto the surface of theobject such that the fringe pattern substantially grazes the surface ofthe object; and c) detecting the fringe pattern and the speckle in animage of the surface of the object, wherein a normal to the surface ofthe object is substantially orthogonal to said optical path.
 11. Themethod of claim 10 wherein the coherent fringe pattern substantiallygrazes the surface of the object at an angle between 0 and 45 degreeswith respect to the surface of the object.
 12. The method of claim 10further comprising the step of providing two sources of radiation. 13.The method of claim 12 wherein the two sources are positioned above thesurface of the object.
 14. The method of claim 12 wherein the twosources are substantially vertically aligned along the normal to thesurface of the object.
 15. The method of claim 10 wherein the fringepattern is generated by two sources.
 16. The method of claim 15 whereinthe two sources are coherent with respect to one another.
 17. The methodof claim 15 wherein the two sources are laser sources.
 18. The method ofclaim 15 wherein the two sources are generated by splitting a singlesource.
 19. A method for projecting fringes onto a surface of an object,said method comprising the steps of: a) providing two sources ofradiation separated by a distance, each of said sources having aspectral distribution and being coherent with respect to the other ofsaid sources; b) illuminating said point on said surface of said objectwith said radiation from each of said sources; c) moving one of saidsources relative to the other of said sources; and d) detectingradiation scattered by said point on said surface of said object. 20.The method of claim 19 further comprising the step of changing the phaseof a spectral component in said spectral distribution from one of saidsources relative to the phase of a respective spectral component in saidspectral distribution from the other of said sources as measured at saidpoint on said surface of said object.